| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49 | 957
1
1
32
10
1
34
1
1
1
1
26
1
| var Module;Eif(!Module)Module=(typeof Module!=="undefined"?Module:null)||{};var moduleOverrides={};for(var key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}var ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function";var ENVIRONMENT_IS_WEB=typeof window==="object";var ENVIRONMENT_IS_WORKER=typeof importScripts==="function";var ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;Eif(ENVIRONMENT_IS_NODE){Eif(!Module["print"])Module["print"]=function print(x){process["stdout"].write(x+"\n")};Eif(!Module["printErr"])Module["printErr"]=function printErr(x){process["stderr"].write(x+"\n")};var nodeFS=require("fs");var nodePath=require("path");Module["read"]=function read(filename,binary){filename=nodePath["normalize"](filename);var ret=nodeFS["readFileSync"](filename);if(!ret&&filename!=nodePath["resolve"](filename)){filename=path.join(__dirname,"..","src",filename);ret=nodeFS["readFileSync"](filename)}if(ret&&!binary)ret=ret.toString();return ret};Module["readBinary"]=function readBinary(filename){return Module["read"](filename,true)};Module["load"]=function load(f){globalEval(read(f))};Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/");Module["arguments"]=process["argv"].slice(2);Eif(typeof module!=="undefined"){module["exports"]=Module}process["on"]("uncaughtException",(function(ex){if(!(ex instanceof ExitStatus)){throw ex}}))}else if(ENVIRONMENT_IS_SHELL){if(!Module["print"])Module["print"]=print;if(typeof printErr!="undefined")Module["printErr"]=printErr;if(typeof read!="undefined"){Module["read"]=read}else{Module["read"]=function read(){throw"no read() available (jsc?)"}}Module["readBinary"]=function readBinary(f){if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}var data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}this["Module"]=Module}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){Module["read"]=function read(url){var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText};if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof console!=="undefined"){if(!Module["print"])Module["print"]=function print(x){console.log(x)};if(!Module["printErr"])Module["printErr"]=function printErr(x){console.log(x)}}else{var TRY_USE_DUMP=false;if(!Module["print"])Module["print"]=TRY_USE_DUMP&&typeof dump!=="undefined"?(function(x){dump(x)}):(function(x){})}if(ENVIRONMENT_IS_WEB){window["Module"]=Module}else{Module["load"]=importScripts}}else{throw"Unknown runtime environment. Where are we?"}function globalEval(x){eval.call(null,x)}Iif(!Module["load"]&&Module["read"]){Module["load"]=function load(f){globalEval(Module["read"](f))}}Iif(!Module["print"]){Module["print"]=(function(){})}Iif(!Module["printErr"]){Module["printErr"]=Module["print"]}Iif(!Module["arguments"]){Module["arguments"]=[]}Iif(!Module["thisProgram"]){Module["thisProgram"]="./this.program"}Module.print=Module["print"];Module.printErr=Module["printErr"];Module["preRun"]=[];Module["postRun"]=[];for(var key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}var Runtime={setTempRet0:(function(value){tempRet0=value}),getTempRet0:(function(){return tempRet0}),stackSave:(function(){return STACKTOP}),stackRestore:(function(stackTop){STACKTOP=stackTop}),getNativeTypeSize:(function(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{Eif(type[type.length-1]==="*"){return Runtime.QUANTUM_SIZE}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0);return bits/8}else{return 0}}}}),getNativeFieldSize:(function(type){return Math.max(Runtime.getNativeTypeSize(type),Runtime.QUANTUM_SIZE)}),STACK_ALIGN:16,getAlignSize:(function(type,size,vararg){if(!vararg&&(type=="i64"||type=="double"))return 8;if(!type)return Math.min(size,8);return Math.min(size||(type?Runtime.getNativeFieldSize(type):0),Runtime.QUANTUM_SIZE)}),dynCall:(function(sig,ptr,args){if(args&&args.length){if(!args.splice)args=Array.prototype.slice.call(args);args.splice(0,0,ptr);return Module["dynCall_"+sig].apply(null,args)}else{return Module["dynCall_"+sig].call(null,ptr)}}),functionPointers:[null,null,null,null,null,null,null,null,null,null],addFunction:(function(func){for(var i=0;i<Runtime.functionPointers.length;i++){if(!Runtime.functionPointers[i]){Runtime.functionPointers[i]=func;return 2*(1+i)}}throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."}),removeFunction:(function(index){Runtime.functionPointers[(index-2)/2]=null}),getAsmConst:(function(code,numArgs){if(!Runtime.asmConstCache)Runtime.asmConstCache={};var func=Runtime.asmConstCache[code];if(func)return func;var args=[];for(var i=0;i<numArgs;i++){args.push(String.fromCharCode(36)+i)}var source=Pointer_stringify(code);if(source[0]==='"'){if(source.indexOf('"',1)===source.length-1){source=source.substr(1,source.length-2)}else{abort("invalid EM_ASM input |"+source+"|. Please use EM_ASM(..code..) (no quotes) or EM_ASM({ ..code($0).. }, input) (to input values)")}}try{var evalled=eval("(function(Module, FS) { return function("+args.join(",")+"){ "+source+" } })")(Module,typeof FS!=="undefined"?FS:null)}catch(e){Module.printErr("error in executing inline EM_ASM code: "+e+" on: \n\n"+source+"\n\nwith args |"+args+"| (make sure to use the right one out of EM_ASM, EM_ASM_ARGS, etc.)");throw e}return Runtime.asmConstCache[code]=evalled}),warnOnce:(function(text){if(!Runtime.warnOnce.shown)Runtime.warnOnce.shown={};if(!Runtime.warnOnce.shown[text]){Runtime.warnOnce.shown[text]=1;Module.printErr(text)}}),funcWrappers:{},getFuncWrapper:(function(func,sig){assert(sig);if(!Runtime.funcWrappers[sig]){Runtime.funcWrappers[sig]={}}var sigCache=Runtime.funcWrappers[sig];if(!sigCache[func]){sigCache[func]=function dynCall_wrapper(){return Runtime.dynCall(sig,func,arguments)}}return sigCache[func]}),UTF8Processor:(function(){var buffer=[];var needed=0;this.processCChar=(function(code){code=code&255;if(buffer.length==0){if((code&128)==0){return String.fromCharCode(code)}buffer.push(code);if((code&224)==192){needed=1}else if((code&240)==224){needed=2}else{needed=3}return""}if(needed){buffer.push(code);needed--;if(needed>0)return""}var c1=buffer[0];var c2=buffer[1];var c3=buffer[2];var c4=buffer[3];var ret;if(buffer.length==2){ret=String.fromCharCode((c1&31)<<6|c2&63)}else if(buffer.length==3){ret=String.fromCharCode((c1&15)<<12|(c2&63)<<6|c3&63)}else{var codePoint=(c1&7)<<18|(c2&63)<<12|(c3&63)<<6|c4&63;ret=String.fromCharCode(((codePoint-65536)/1024|0)+55296,(codePoint-65536)%1024+56320)}buffer.length=0;return ret});this.processJSString=function processJSString(string){string=unescape(encodeURIComponent(string));var ret=[];for(var i=0;i<string.length;i++){ret.push(string.charCodeAt(i))}return ret}}),getCompilerSetting:(function(name){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"}),stackAlloc:(function(size){var ret=STACKTOP;STACKTOP=STACKTOP+size|0;STACKTOP=STACKTOP+15&-16;return ret}),staticAlloc:(function(size){var ret=STATICTOP;STATICTOP=STATICTOP+size|0;STATICTOP=STATICTOP+15&-16;return ret}),dynamicAlloc:(function(size){var ret=DYNAMICTOP;DYNAMICTOP=DYNAMICTOP+size|0;DYNAMICTOP=DYNAMICTOP+15&-16;Iif(DYNAMICTOP>=TOTAL_MEMORY)enlargeMemory();return ret}),alignMemory:(function(size,quantum){var ret=size=Math.ceil(size/(quantum?quantum:16))*(quantum?quantum:16);return ret}),makeBigInt:(function(low,high,unsigned){var ret=unsigned?+(low>>>0)+ +(high>>>0)*+4294967296:+(low>>>0)+ +(high|0)*+4294967296;return ret}),GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module["Runtime"]=Runtime;function jsCall(){var args=Array.prototype.slice.call(arguments);return Runtime.functionPointers[args[0]].apply(null,args.slice(1))}var __THREW__=0;var ABORT=false;var EXITSTATUS=0;var undef=0;var tempValue,tempInt,tempBigInt,tempInt2,tempBigInt2,tempPair,tempBigIntI,tempBigIntR,tempBigIntS,tempBigIntP,tempBigIntD,tempDouble,tempFloat;var tempI64,tempI64b;var tempRet0,tempRet1,tempRet2,tempRet3,tempRet4,tempRet5,tempRet6,tempRet7,tempRet8,tempRet9;function assert(condition,text){Iif(!condition){abort("Assertion failed: "+text)}}var globalScope=this;function getCFunc(ident){var func=Module["_"+ident];if(!func){try{func=eval("_"+ident)}catch(e){}}assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)");return func}var cwrap,ccall;((function(){var stack=0;var JSfuncs={"stackSave":(function(){stack=Runtime.stackSave()}),"stackRestore":(function(){Runtime.stackRestore(stack)}),"arrayToC":(function(arr){var ret=Runtime.stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}),"stringToC":(function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=Runtime.stackAlloc((str.length<<2)+1);writeStringToMemory(str,ret)}return ret})};var toC={"string":JSfuncs["stringToC"],"array":JSfuncs["arrayToC"]};ccall=function ccallFunc(ident,returnType,argTypes,args){var func=getCFunc(ident);var cArgs=[];if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=Runtime.stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);if(returnType==="string")ret=Pointer_stringify(ret);if(stack!==0)JSfuncs["stackRestore"]();return ret};var sourceRegex=/^function\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/;function parseJSFunc(jsfunc){var parsed=jsfunc.toString().match(sourceRegex).slice(1);return{arguments:parsed[0],body:parsed[1],returnValue:parsed[2]}}var JSsource={};for(var fun in JSfuncs){Eif(JSfuncs.hasOwnProperty(fun)){JSsource[fun]=parseJSFunc(JSfuncs[fun])}}cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident);var numericArgs=argTypes.every((function(type){return type==="number"}));var numericRet=returnType!=="string";if(numericRet&&numericArgs){return cfunc}var argNames=argTypes.map((function(x,i){return"$"+i}));var funcstr="(function("+argNames.join(",")+") {";var nargs=argTypes.length;if(!numericArgs){funcstr+=JSsource["stackSave"].body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if(type==="number")continue;var convertCode=JSsource[type+"ToC"];funcstr+="var "+convertCode.arguments+" = "+arg+";";funcstr+=convertCode.body+";";funcstr+=arg+"="+convertCode.returnValue+";"}}var cfuncname=parseJSFunc((function(){return cfunc})).returnValue;funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");";if(!numericRet){var strgfy=parseJSFunc((function(){return Pointer_stringify})).returnValue;funcstr+="ret = "+strgfy+"(ret);"}if(!numericArgs){funcstr+=JSsource["stackRestore"].body+";"}funcstr+="return ret})";return eval(funcstr)}}))();Module["cwrap"]=cwrap;Module["ccall"]=ccall;function setValue(ptr,value,type,noSafe){type=type||"i8";Eif(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble- +(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}Module["setValue"]=setValue;function getValue(ptr,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":return HEAP8[ptr>>0];case"i8":return HEAP8[ptr>>0];case"i16":return HEAP16[ptr>>1];case"i32":return HEAP32[ptr>>2];case"i64":return HEAP32[ptr>>2];case"float":return HEAPF32[ptr>>2];case"double":return HEAPF64[ptr>>3];default:abort("invalid type for setValue: "+type)}return null}Module["getValue"]=getValue;var ALLOC_NORMAL=0;var ALLOC_STACK=1;var ALLOC_STATIC=2;var ALLOC_DYNAMIC=3;var ALLOC_NONE=4;Module["ALLOC_NORMAL"]=ALLOC_NORMAL;Module["ALLOC_STACK"]=ALLOC_STACK;Module["ALLOC_STATIC"]=ALLOC_STATIC;Module["ALLOC_DYNAMIC"]=ALLOC_DYNAMIC;Module["ALLOC_NONE"]=ALLOC_NONE;function allocate(slab,types,allocator,ptr){var zeroinit,size;if(typeof slab==="number"){zeroinit=true;size=slab}else{zeroinit=false;size=slab.length}var singleType=typeof types==="string"?types:null;var ret;if(allocator==ALLOC_NONE){ret=ptr}else{ret=[_malloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][allocator===undefined?ALLOC_STATIC:allocator](Math.max(size,singleType?1:types.length))}if(zeroinit){var ptr=ret,stop;assert((ret&3)==0);stop=ret+(size&~3);for(;ptr<stop;ptr+=4){HEAP32[ptr>>2]=0}stop=ret+size;while(ptr<stop){HEAP8[ptr++>>0]=0}return ret}if(singleType==="i8"){Eif(slab.subarray||slab.slice){HEAPU8.set(slab,ret)}else{HEAPU8.set(new Uint8Array(slab),ret)}return ret}var i=0,type,typeSize,previousType;while(i<size){var curr=slab[i];Iif(typeof curr==="function"){curr=Runtime.getFunctionIndex(curr)}type=singleType||types[i];Iif(type===0){i++;continue}Iif(type=="i64")type="i32";setValue(ret+i,curr,type);Eif(previousType!==type){typeSize=Runtime.getNativeTypeSize(type);previousType=type}i+=typeSize}return ret}Module["allocate"]=allocate;function Pointer_stringify(ptr,length){var hasUtf=false;var t;var i=0;while(1){t=HEAPU8[ptr+i>>0];Iif(t>=128)hasUtf=true;else if(t==0&&!length)break;i++;Iif(length&&i==length)break}Eif(!length)length=i;var ret="";Eif(!hasUtf){var MAX_CHUNK=1024;var curr;while(length>0){curr=String.fromCharCode.apply(String,HEAPU8.subarray(ptr,ptr+Math.min(length,MAX_CHUNK)));ret=ret?ret+curr:curr;ptr+=MAX_CHUNK;length-=MAX_CHUNK}return ret}var utf8=new Runtime.UTF8Processor;for(i=0;i<length;i++){t=HEAPU8[ptr+i>>0];ret+=utf8.processCChar(t)}return ret}Module["Pointer_stringify"]=Pointer_stringify;function UTF16ToString(ptr){var i=0;var str="";while(1){var codeUnit=HEAP16[ptr+i*2>>1];if(codeUnit==0)return str;++i;str+=String.fromCharCode(codeUnit)}}Module["UTF16ToString"]=UTF16ToString;function stringToUTF16(str,outPtr){for(var i=0;i<str.length;++i){var codeUnit=str.charCodeAt(i);HEAP16[outPtr+i*2>>1]=codeUnit}HEAP16[outPtr+str.length*2>>1]=0}Module["stringToUTF16"]=stringToUTF16;function UTF32ToString(ptr){var i=0;var str="";while(1){var utf32=HEAP32[ptr+i*4>>2];if(utf32==0)return str;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}}Module["UTF32ToString"]=UTF32ToString;function stringToUTF32(str,outPtr){var iChar=0;for(var iCodeUnit=0;iCodeUnit<str.length;++iCodeUnit){var codeUnit=str.charCodeAt(iCodeUnit);if(codeUnit>=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++iCodeUnit);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr+iChar*4>>2]=codeUnit;++iChar}HEAP32[outPtr+iChar*4>>2]=0}Module["stringToUTF32"]=stringToUTF32;function demangle(func){var hasLibcxxabi=!!Module["___cxa_demangle"];if(hasLibcxxabi){try{var buf=_malloc(func.length);writeStringToMemory(func.substr(1),buf);var status=_malloc(4);var ret=Module["___cxa_demangle"](buf,0,0,status);if(getValue(status,"i32")===0&&ret){return Pointer_stringify(ret)}}catch(e){}finally{if(buf)_free(buf);if(status)_free(status);if(ret)_free(ret)}}var i=3;var basicTypes={"v":"void","b":"bool","c":"char","s":"short","i":"int","l":"long","f":"float","d":"double","w":"wchar_t","a":"signed char","h":"unsigned char","t":"unsigned short","j":"unsigned int","m":"unsigned long","x":"long long","y":"unsigned long long","z":"..."};var subs=[];var first=true;function dump(x){if(x)Module.print(x);Module.print(func);var pre="";for(var a=0;a<i;a++)pre+=" ";Module.print(pre+"^")}function parseNested(){i++;if(func[i]==="K")i++;var parts=[];while(func[i]!=="E"){if(func[i]==="S"){i++;var next=func.indexOf("_",i);var num=func.substring(i,next)||0;parts.push(subs[num]||"?");i=next+1;continue}if(func[i]==="C"){parts.push(parts[parts.length-1]);i+=2;continue}var size=parseInt(func.substr(i));var pre=size.toString().length;if(!size||!pre){i--;break}var curr=func.substr(i+pre,size);parts.push(curr);subs.push(curr);i+=pre+size}i++;return parts}function parse(rawList,limit,allowVoid){limit=limit||Infinity;var ret="",list=[];function flushList(){return"("+list.join(", ")+")"}var name;if(func[i]==="N"){name=parseNested().join("::");limit--;if(limit===0)return rawList?[name]:name}else{if(func[i]==="K"||first&&func[i]==="L")i++;var size=parseInt(func.substr(i));if(size){var pre=size.toString().length;name=func.substr(i+pre,size);i+=pre+size}}first=false;if(func[i]==="I"){i++;var iList=parse(true);var iRet=parse(true,1,true);ret+=iRet[0]+" "+name+"<"+iList.join(", ")+">"}else{ret=name}paramLoop:while(i<func.length&&limit-->0){var c=func[i++];if(c in basicTypes){list.push(basicTypes[c])}else{switch(c){case"P":list.push(parse(true,1,true)[0]+"*");break;case"R":list.push(parse(true,1,true)[0]+"&");break;case"L":{i++;var end=func.indexOf("E",i);var size=end-i;list.push(func.substr(i,size));i+=size+2;break};case"A":{var size=parseInt(func.substr(i));i+=size.toString().length;if(func[i]!=="_")throw"?";i++;list.push(parse(true,1,true)[0]+" ["+size+"]");break};case"E":break paramLoop;default:ret+="?"+c;break paramLoop}}}if(!allowVoid&&list.length===1&&list[0]==="void")list=[];if(rawList){if(ret){list.push(ret+"?")}return list}else{return ret+flushList()}}var final=func;try{if(func=="Object._main"||func=="_main"){return"main()"}if(typeof func==="number")func=Pointer_stringify(func);if(func[0]!=="_")return func;if(func[1]!=="_")return func;if(func[2]!=="Z")return func;switch(func[3]){case"n":return"operator new()";case"d":return"operator delete()"}final=parse()}catch(e){final+="?"}if(final.indexOf("?")>=0&&!hasLibcxxabi){Runtime.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling")}return final}function demangleAll(text){return text.replace(/__Z[\w\d_]+/g,(function(x){var y=demangle(x);return x===y?x:x+" ["+y+"]"}))}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function stackTrace(){return demangleAll(jsStackTrace())}Module["stackTrace"]=stackTrace;var PAGE_SIZE=4096;function alignMemoryPage(x){return x+4095&-4096}var HEAP;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;var STATIC_BASE=0,STATICTOP=0,staticSealed=false;var STACK_BASE=0,STACKTOP=0,STACK_MAX=0;var DYNAMIC_BASE=0,DYNAMICTOP=0;function enlargeMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with ALLOW_MEMORY_GROWTH which adjusts the size at runtime but prevents some optimizations, or (3) set Module.TOTAL_MEMORY before the program runs.")}var TOTAL_STACK=Module["TOTAL_STACK"]||5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||33554432;var FAST_MEMORY=Module["FAST_MEMORY"]||2097152;var totalMemory=64*1024;while(totalMemory<TOTAL_MEMORY||totalMemory<2*TOTAL_STACK){if(totalMemory<16*1024*1024){totalMemory*=2}else{totalMemory+=16*1024*1024}}Iif(totalMemory!==TOTAL_MEMORY){Module.printErr("increasing TOTAL_MEMORY to "+totalMemory+" to be more reasonable");TOTAL_MEMORY=totalMemory}assert(typeof Int32Array!=="undefined"&&typeof Float64Array!=="undefined"&&!!(new Int32Array(1))["subarray"]&&!!(new Int32Array(1))["set"],"JS engine does not provide full typed array support");var buffer=new ArrayBuffer(TOTAL_MEMORY);HEAP8=new Int8Array(buffer);HEAP16=new Int16Array(buffer);HEAP32=new Int32Array(buffer);HEAPU8=new Uint8Array(buffer);HEAPU16=new Uint16Array(buffer);HEAPU32=new Uint32Array(buffer);HEAPF32=new Float32Array(buffer);HEAPF64=new Float64Array(buffer);HEAP32[0]=255;assert(HEAPU8[0]===255&&HEAPU8[3]===0,"Typed arrays 2 must be run on a little-endian system");Module["HEAP"]=HEAP;Module["HEAP8"]=HEAP8;Module["HEAP16"]=HEAP16;Module["HEAP32"]=HEAP32;Module["HEAPU8"]=HEAPU8;Module["HEAPU16"]=HEAPU16;Module["HEAPU32"]=HEAPU32;Module["HEAPF32"]=HEAPF32;Module["HEAPF64"]=HEAPF64;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();Iif(typeof callback=="function"){callback();continue}var func=callback.func;Iif(typeof func==="number"){if(callback.arg===undefined){Runtime.dynCall("v",func)}else{Runtime.dynCall("vi",func,[callback.arg])}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){Eif(Module["preRun"]){Iif(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){Iif(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){Eif(Module["postRun"]){Iif(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}Module["addOnPreRun"]=Module.addOnPreRun=addOnPreRun;function addOnInit(cb){__ATINIT__.unshift(cb)}Module["addOnInit"]=Module.addOnInit=addOnInit;function addOnPreMain(cb){__ATMAIN__.unshift(cb)}Module["addOnPreMain"]=Module.addOnPreMain=addOnPreMain;function addOnExit(cb){__ATEXIT__.unshift(cb)}Module["addOnExit"]=Module.addOnExit=addOnExit;function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}Module["addOnPostRun"]=Module.addOnPostRun=addOnPostRun;function intArrayFromString(stringy,dontAddNull,length){var ret=(new Runtime.UTF8Processor).processJSString(stringy);if(length){ret.length=length}if(!dontAddNull){ret.push(0)}return ret}Module["intArrayFromString"]=intArrayFromString;function intArrayToString(array){var ret=[];for(var i=0;i<array.length;i++){var chr=array[i];if(chr>255){chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}Module["intArrayToString"]=intArrayToString;function writeStringToMemory(string,buffer,dontAddNull){var array=intArrayFromString(string,dontAddNull);var i=0;while(i<array.length){var chr=array[i];HEAP8[buffer+i>>0]=chr;i=i+1}}Module["writeStringToMemory"]=writeStringToMemory;function writeArrayToMemory(array,buffer){for(var i=0;i<array.length;i++){HEAP8[buffer+i>>0]=array[i]}}Module["writeArrayToMemory"]=writeArrayToMemory;function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;i++){HEAP8[buffer+i>>0]=str.charCodeAt(i)}Eif(!dontAddNull)HEAP8[buffer+str.length>>0]=0}Module["writeAsciiToMemory"]=writeAsciiToMemory;function unSign(value,bits,ignore){if(value>=0){return value}return bits<=32?2*Math.abs(1<<bits-1)+value:Math.pow(2,bits)+value}function reSign(value,bits,ignore){if(value<=0){return value}var half=bits<=32?Math.abs(1<<bits-1):Math.pow(2,bits-1);if(value>=half&&(bits<=32||value>half)){value=-2*half+value}return value}Iif(!Math["imul"]||Math["imul"](4294967295,5)!==-5)Math["imul"]=function imul(a,b){var ah=a>>>16;var al=a&65535;var bh=b>>>16;var bl=b&65535;return al*bl+(ah*bl+al*bh<<16)|0};Math.imul=Math["imul"];var Math_abs=Math.abs;var Math_cos=Math.cos;var Math_sin=Math.sin;var Math_tan=Math.tan;var Math_acos=Math.acos;var Math_asin=Math.asin;var Math_atan=Math.atan;var Math_atan2=Math.atan2;var Math_exp=Math.exp;var Math_log=Math.log;var Math_sqrt=Math.sqrt;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_pow=Math.pow;var Math_imul=Math.imul;var Math_fround=Math.fround;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}Module["addRunDependency"]=addRunDependency;function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["removeRunDependency"]=removeRunDependency;Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;STATIC_BASE=8;STATICTOP=STATIC_BASE+Runtime.alignMemory(27699);__ATINIT__.push({func:(function(){__GLOBAL__I_a()})},{func:(function(){__GLOBAL__I_a162()})},{func:(function(){__GLOBAL__I_a200()})},{func:(function(){__GLOBAL__I_a333()})});allocate([129,1,29,90,14,2,134,37,16,3,20,17,18,4,11,8,20,5,216,3,23,6,218,1,25,7,229,0,28,8,111,0,30,9,54,0,33,10,26,0,35,11,13,0,9,12,6,0,10,13,3,0,12,13,1,0,143,15,127,90,36,16,37,63,38,17,242,44,39,18,124,32,40,19,185,23,42,20,130,17,43,21,239,12,45,22,161,9,46,23,47,7,48,24,92,5,49,25,6,4,51,26,3,3,52,27,64,2,54,28,177,1,56,29,68,1,57,30,245,0,59,31,183,0,60,32,138,0,62,33,104,0,63,34,78,0,32,35,59,0,33,9,44,0,165,37,225,90,64,38,76,72,65,39,13,58,67,40,241,46,68,41,31,38,69,42,51,31,70,43,168,25,72,44,24,21,73,45,119,17,74,46,116,14,75,47,251,11,77,48,248,9,78,49,97,8,79,50,6,7,48,51,205,5,50,52,222,4,50,53,15,4,51,54,99,3,52,55,212,2,53,56,92,2,54,57,248,1,55,58,164,1,56,59,96,1,57,60,37,1,58,61,246,0,59,62,203,0,61,63,171,0,61,32,143,0,193,65,18,91,80,66,4,77,81,67,44,65,82,68,216,55,83,69,232,47,84,70,60,41,86,71,121,35,87,72,223,30,87,73,169,26,72,74,78,23,72,75,36,20,74,76,156,17,74,77,107,15,75,78,81,13,77,79,182,11,77,48,64,10,208,81,50,88,88,82,28,77,89,83,142,67,90,84,221,59,91,85,238,52,92,86,174,46,93,87,154,41,86,71,22,37,216,89,112,85,95,90,169,76,96,91,217,68,97,92,34,62,99,93,36,56,99,94,180,50,93,86,23,46,223,96,168,86,101,97,70,79,102,98,229,71,103,99,207,65,104,100,61,60,99,93,94,55,105,102,49,82,106,103,15,76,107,104,57,70,103,99,94,65,233,106,39,86,108,107,231,80,109,103,133,75,110,109,151,85,111,107,79,80,238,111,16,90,112,109,34,85,240,111,235,89,113,113,29,90,16,0,0,0,11,0,0,0,10,0,0,0,16,0,0,0,24,0,0,0,40,0,0,0,51,0,0,0,61,0,0,0,12,0,0,0,12,0,0,0,14,0,0,0,19,0,0,0,26,0,0,0,58,0,0,0,60,0,0,0,55,0,0,0,14,0,0,0,13,0,0,0,16,0,0,0,24,0,0,0,40,0,0,0,57,0,0,0,69,0,0,0,56,0,0,0,14,0,0,0,17,0,0,0,22,0,0,0,29,0,0,0,51,0,0,0,87,0,0,0,80,0,0,0,62,0,0,0,18,0,0,0,22,0,0,0,37,0,0,0,56,0,0,0,68,0,0,0,109,0,0,0,103,0,0,0,77,0,0,0,24,0,0,0,35,0,0,0,55,0,0,0,64,0,0,0,81,0,0,0,104,0,0,0,113,0,0,0,92,0,0,0,49,0,0,0,64,0,0,0,78,0,0,0,87,0,0,0,103,0,0,0,121,0,0,0,120,0,0,0,101,0,0,0,72,0,0,0,92,0,0,0,95,0,0,0,98,0,0,0,112,0,0,0,100,0,0,0,103,0,0,0,99,0,0,0,17,0,0,0,18,0,0,0,24,0,0,0,47,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,18,0,0,0,21,0,0,0,26,0,0,0,66,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,24,0,0,0,26,0,0,0,56,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,47,0,0,0,66,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,0,0,1,5,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,0,0,0,0,0,0,3,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,0,0,0,0,0,0,2,1,3,3,2,4,3,5,5,4,4,0,0,1,125,0,0,0,0,0,0,0,1,2,3,0,4,17,5,18,33,49,65,6,19,81,97,7,34,113,20,50,129,145,161,8,35,66,177,193,21,82,209,240,36,51,98,114,130,9,10,22,23,24,25,26,37,38,39,40,41,42,52,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,131,132,133,134,135,136,137,138,146,147,148,149,150,151,152,153,154,162,163,164,165,166,167,168,169,170,178,179,180,181,182,183,184,185,186,194,195,196,197,198,199,200,201,202,210,211,212,213,214,215,216,217,218,225,226,227,228,229,230,231,232,233,234,241,242,243,244,245,246,247,248,249,250,0,0,0,0,0,0,0,0,2,1,2,4,4,3,4,7,5,4,4,0,1,2,119,0,0,0,0,0,0,0,0,1,2,3,17,4,5,33,49,6,18,65,81,7,97,113,19,34,50,129,8,20,66,145,161,177,193,9,35,51,82,240,21,98,114,209,10,22,36,52,225,37,241,23,24,25,26,38,39,40,41,42,53,54,55,56,57,58,67,68,69,70,71,72,73,74,83,84,85,86,87,88,89,90,99,100,101,102,103,104,105,106,115,116,117,118,119,120,121,122,130,131,132,133,134,135,136,137,138,146,147,148,149,150,151,152,153,154,162,163,164,165,166,167,168,169,170,178,179,180,181,182,183,184,185,186,194,195,196,197,198,199,200,201,202,210,211,212,213,214,215,216,217,218,226,227,228,229,230,231,232,233,234,242,243,244,245,246,247,248,249,250,0,0,0,0,0,0,0,64,197,88,159,83,66,75,0,64,73,50,163,34,168,17,197,88,33,123,252,115,98,104,197,88,191,69,11,48,126,24,159,83,252,115,65,109,84,98,159,83,179,65,65,45,18,23,66,75,98,104,84,98,126,88,66,75,33,59,186,40,195,20,0,64,197,88,159,83,66,75,0,64,73,50,163,34,168,17,73,50,191,69,179,65,33,59,73,50,130,39,55,27,224,13,163,34,11,48,65,45,186,40,163,34,55,27,191,18,142,9,168,17,126,24,18,23,195,20,168,17,224,13,142,9,223,4,0,0,0,0,0,0,240,63,239,97,72,177,80,49,246,63,202,111,77,145,174,231,244,63,170,17,108,239,98,208,242,63,0,0,0,0,0,0,240,63,59,191,167,192,105,36,233,63,187,32,199,123,122,81,225,63,93,171,114,222,85,168,209,63,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,1,0,0,0,5,0,0,0,2,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,5,0,0,0,6,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,12,0,0,0,3,0,0,0,8,0,0,0,11,0,0,0,13,0,0,0,9,0,0,0,10,0,0,0,14,0,0,0,15,0,0,0,0,0,0,0,1,0,0,0,5,0,0,0,6,0,0,0,14,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,13,0,0,0,15,0,0,0,3,0,0,0,8,0,0,0,12,0,0,0,16,0,0,0,21,0,0,0,9,0,0,0,11,0,0,0,17,0,0,0,20,0,0,0,22,0,0,0,10,0,0,0,18,0,0,0,19,0,0,0,23,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,5,0,0,0,6,0,0,0,14,0,0,0,15,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,13,0,0,0,16,0,0,0,25,0,0,0,3,0,0,0,8,0,0,0,12,0,0,0,17,0,0,0,24,0,0,0,26,0,0,0,9,0,0,0,11,0,0,0,18,0,0,0,23,0,0,0,27,0,0,0,32,0,0,0,10,0,0,0,19,0,0,0,22,0,0,0,28,0,0,0,31,0,0,0,33,0,0,0,20,0,0,0,21,0,0,0,29,0,0,0,30,0,0,0,34,0,0,0,35,0,0,0,0,0,0,0,1,0,0,0,5,0,0,0,6,0,0,0,14,0,0,0,15,0,0,0,27,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,13,0,0,0,16,0,0,0,26,0,0,0,28,0,0,0,3,0,0,0,8,0,0,0,12,0,0,0,17,0,0,0,25,0,0,0,29,0,0,0,38,0,0,0,9,0,0,0,11,0,0,0,18,0,0,0,24,0,0,0,30,0,0,0,37,0,0,0,39,0,0,0,10,0,0,0,19,0,0,0,23,0,0,0,31,0,0,0,36,0,0,0,40,0,0,0,45,0,0,0,20,0,0,0,22,0,0,0,32,0,0,0,35,0,0,0,41,0,0,0,44,0,0,0,46,0,0,0,21,0,0,0,33,0,0,0,34,0,0,0,42,0,0,0,43,0,0,0,47,0,0,0,48,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,5,0,0,0,6,0,0,0,14,0,0,0,15,0,0,0,27,0,0,0,28,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,13,0,0,0,16,0,0,0,26,0,0,0,29,0,0,0,42,0,0,0,3,0,0,0,8,0,0,0,12,0,0,0,17,0,0,0,25,0,0,0,30,0,0,0,41,0,0,0,43,0,0,0,9,0,0,0,11,0,0,0,18,0,0,0,24,0,0,0,31,0,0,0,40,0,0,0,44,0,0,0,53,0,0,0,10,0,0,0,19,0,0,0,23,0,0,0,32,0,0,0,39,0,0,0,45,0,0,0,52,0,0,0,54,0,0,0,20,0,0,0,22,0,0,0,33,0,0,0,38,0,0,0,46,0,0,0,51,0,0,0,55,0,0,0,60,0,0,0,21,0,0,0,34,0,0,0,37,0,0,0,47,0,0,0,50,0,0,0,56,0,0,0,59,0,0,0,61,0,0,0,35,0,0,0,36,0,0,0,48,0,0,0,49,0,0,0,57,0,0,0,58,0,0,0,62,0,0,0,63,0,0,0,0,0,0,0,1,0,0,0,3,0,0,0,7,0,0,0,15,0,0,0,31,0,0,0,63,0,0,0,127,0,0,0,255,0,0,0,255,1,0,0,255,3,0,0,255,7,0,0,255,15,0,0,255,31,0,0,255,63,0,0,255,127,0,0,76,83,69,0,0,0,0,0,83,79,83,0,0,0,0,0,66,111,103,117,115,32,109,101,115,115,97,103,101,32,99,111,100,101,32,37,100,0,0,0,65,76,73,71,78,95,84,89,80,69,32,105,115,32,119,114,111,110,103,44,32,112,108,101,97,115,101,32,102,105,120,0,77,65,88,95,65,76,76,79,67,95,67,72,85,78,75,32,105,115,32,119,114,111,110,103,44,32,112,108,101,97,115,101,32,102,105,120,0,0,0,0,66,111,103,117,115,32,98,117,102,102,101,114,32,99,111,110,116,114,111,108,32,109,111,100,101,0,0,0,0,0,0,0,73,110,118,97,108,105,100,32,99,111,109,112,111,110,101,110,116,32,73,68,32,37,100,32,105,110,32,83,79,83,0,0,73,110,118,97,108,105,100,32,99,114,111,112,32,114,101,113,117,101,115,116,0,0,0,0,68,67,84,32,99,111,101,102,102,105,99,105,101,110,116,32,111,117,116,32,111,102,32,114,97,110,103,101,0,0,0,0,68,67,84,32,115,99,97,108,101,100,32,98,108,111,99,107,32,115,105,122,101,32,37,100,120,37,100,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,0,0,0,0,0,0,67,111,109,112,111,110,101,110,116,32,105,110,100,101,120,32,37,100,58,32,109,105,115,109,97,116,99,104,105,110,103,32,115,97,109,112,108,105,110,103,32,114,97,116,105,111,32,37,100,58,37,100,44,32,37,100,58,37,100,44,32,37,99,0,66,111,103,117,115,32,72,117,102,102,109,97,110,32,116,97,98,108,101,32,100,101,102,105,110,105,116,105,111,110,0,0,66,111,103,117,115,32,105,110,112,117,116,32,99,111,108,111,114,115,112,97,99,101,0,0,66,111,103,117,115,32,74,80,69,71,32,99,111,108,111,114,115,112,97,99,101,0,0,0,66,111,103,117,115,32,109,97,114,107,101,114,32,108,101,110,103,116,104,0,0,0,0,0,87,114,111,110,103,32,74,80,69,71,32,108,105,98,114,97,114,121,32,118,101,114,115,105,111,110,58,32,108,105,98,114,97,114,121,32,105,115,32,37,100,44,32,99,97,108,108,101,114,32,101,120,112,101,99,116,115,32,37,100,0,0,0,0,83,97,109,112,108,105,110,103,32,102,97,99,116,111,114,115,32,116,111,111,32,108,97,114,103,101,32,102,111,114,32,105,110,116,101,114,108,101,97,118,101,100,32,115,99,97,110,0,73,110,118,97,108,105,100,32,109,101,109,111,114,121,32,112,111,111,108,32,99,111,100,101,32,37,100,0,0,0,0,0,85,110,115,117,112,112,111,114,116,101,100,32,74,80,69,71,32,100,97,116,97,32,112,114,101,99,105,115,105,111,110,32,37,100,0,0,0,0,0,0,73,110,118,97,108,105,100,32,112,114,111,103,114,101,115,115,105,118,101,32,112,97,114,97,109,101,116,101,114,115,32,83,115,61,37,100,32,83,101,61,37,100,32,65,104,61,37,100,32,65,108,61,37,100,0,0,73,110,118,97,108,105,100,32,112,114,111,103,114,101,115,115,105,118,101,32,112,97,114,97,109,101,116,101,114,115,32,97,116,32,115,99,97,110,32,115,99,114,105,112,116,32,101,110,116,114,121,32,37,100,0,0,66,111,103,117,115,32,115,97,109,112,108,105,110,103,32,102,97,99,116,111,114,115,0,0,73,110,118,97,108,105,100,32,115,99,97,110,32,115,99,114,105,112,116,32,97,116,32,101,110,116,114,121,32,37,100,0,73,109,112,114,111,112,101,114,32,99,97,108,108,32,116,111,32,74,80,69,71,32,108,105,98,114,97,114,121,32,105,110,32,115,116,97,116,101,32,37,100,0,0,0,0,0,0,0,74,80,69,71,32,112,97,114,97,109,101,116,101,114,32,115,116,114,117,99,116,32,109,105,115,109,97,116,99,104,58,32,108,105,98,114,97,114,121,32,116,104,105,110,107,115,32,115,105,122,101,32,105,115,32,37,117,44,32,99,97,108,108,101,114,32,101,120,112,101,99,116,115,32,37,117,0,0,0,0,66,111,103,117,115,32,118,105,114,116,117,97,108,32,97,114,114,97,121,32,97,99,99,101,115,115,0,0,0,0,0,0,66,117,102,102,101,114,32,112,97,115,115,101,100,32,116,111,32,74,80,69,71,32,108,105,98,114,97,114,121,32,105,115,32,116,111,111,32,115,109,97,108,108,0,0,0,0,0,0,83,117,115,112,101,110,115,105,111,110,32,110,111,116,32,97,108,108,111,119,101,100,32,104,101,114,101,0,0,0,0,0,67,67,73,82,54,48,49,32,115,97,109,112,108,105,110,103,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,32,121,101,116,0,0,0,0,84,111,111,32,109,97,110,121,32,99,111,108,111,114,32,99,111,109,112,111,110,101,110,116,115,58,32,37,100,44,32,109,97,120,32,37,100,0,0,0,85,110,115,117,112,112,111,114,116,101,100,32,99,111,108,111,114,32,99,111,110,118,101,114,115,105,111,110,32,114,101,113,117,101,115,116,0,0,0,0,66,111,103,117,115,32,68,65,67,32,105,110,100,101,120,32,37,100,0,0,0,0,0,0,66,111,103,117,115,32,68,65,67,32,118,97,108,117,101,32,48,120,37,120,0,0,0,0,66,111,103,117,115,32,68,72,84,32,105,110,100,101,120,32,37,100,0,0,0,0,0,0,66,111,103,117,115,32,68,81,84,32,105,110,100,101,120,32,37,100,0,0,0,0,0,0,69,109,112,116,121,32,74,80,69,71,32,105,109,97,103,101,32,40,68,78,76,32,110,111,116,32,115,117,112,112,111,114,116,101,100,41,0,0,0,0,82,101,97,100,32,102,114,111,109,32,69,77,83,32,102,97,105,108,101,100,0,0,0,0,87,114,105,116,101,32,116,111,32,69,77,83,32,102,97,105,108,101,100,0,0,0,0,0,68,105,100,110,39,116,32,101,120,112,101,99,116,32,109,111,114,101,32,116,104,97,110,32,111,110,101,32,115,99,97,110,0,0,0,0,0,0,0,0,73,110,112,117,116,32,102,105,108,101,32,114,101,97,100,32,101,114,114,111,114,0,0,0,79,117,116,112,117,116,32,102,105,108,101,32,119,114,105,116,101,32,101,114,114,111,114,32,45,45,45,32,111,117,116,32,111,102,32,100,105,115,107,32,115,112,97,99,101,63,0,0,70,114,97,99,116,105,111,110,97,108,32,115,97,109,112,108,105,110,103,32,110,111,116,32,105,109,112,108,101,109,101,110,116,101,100,32,121,101,116,0,72,117,102,102,109,97,110,32,99,111,100,101,32,115,105,122,101,32,116,97,98,108,101,32,111,118,101,114,102,108,111,119,0,0,0,0,0,0,0,0,77,105,115,115,105,110,103,32,72,117,102,102,109,97,110,32,99,111,100,101,32,116,97,98,108,101,32,101,110,116,114,121,0,0,0,0,0,0,0,0,77,97,120,105,109,117,109,32,115,117,112,112,111,114,116,101,100,32,105,109,97,103,101,32,100,105,109,101,110,115,105,111,110,32,105,115,32,37,117,32,112,105,120,101,108,115,0,0,69,109,112,116,121,32,105,110,112,117,116,32,102,105,108,101,0,0,0,0,0,0,0,0,80,114,101,109,97,116,117,114,101,32,101,110,100,32,111,102,32,105,110,112,117,116,32,102,105,108,101,0,0,0,0,0,67,97,110,110,111,116,32,116,114,97,110,115,99,111,100,101,32,100,117,101,32,116,111,32,109,117,108,116,105,112,108,101,32,117,115,101,32,111,102,32,113,117,97,110,116,105,122,97,116,105,111,110,32,116,97,98,108,101,32,37,100,0,0,0,83,99,97,110,32,115,99,114,105,112,116,32,100,111,101,115,32,110,111,116,32,116,114,97,110,115,109,105,116,32,97,108,108,32,100,97,116,97,0,0,73,110,118,97,108,105,100,32,99,111,108,111,114,32,113,117,97,110,116,105,122,97,116,105,111,110,32,109,111,100,101,32,99,104,97,110,103,101,0,0,78,111,116,32,105,109,112,108,101,109,101,110,116,101,100,32,121,101,116,0,0,0,0,0,82,101,113,117,101,115,116,101,100,32,102,101,97,116,117,114,101,32,119,97,115,32,111,109,105,116,116,101,100,32,97,116,32,99,111,109,112,105,108,101,32,116,105,109,101,0,0,0,65,114,105,116,104,109,101,116,105,99,32,116,97,98,108,101,32,48,120,37,48,50,120,32,119,97,115,32,110,111,116,32,100,101,102,105,110,101,100,0,66,97,99,107,105,110,103,32,115,116,111,114,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,0,0,0,0,72,117,102,102,109,97,110,32,116,97,98,108,101,32,48,120,37,48,50,120,32,119,97,115,32,110,111,116,32,100,101,102,105,110,101,100,0,0,0,0,74,80,69,71,32,100,97,116,97,115,116,114,101,97,109,32,99,111,110,116,97,105,110,115,32,110,111,32,105,109,97,103,101,0,0,0,0,0,0,0,81,117,97,110,116,105,122,97,116,105,111,110,32,116,97,98,108,101,32,48,120,37,48,50,120,32,119,97,115,32,110,111,116,32,100,101,102,105,110,101,100,0,0,0,0,0,0,0,78,111,116,32,97,32,74,80,69,71,32,102,105,108,101,58,32,115,116,97,114,116,115,32,119,105,116,104,32,48,120,37,48,50,120,32,48,120,37,48,50,120,0,0,0,0,0,0,73,110,115,117,102,102,105,99,105,101,110,116,32,109,101,109,111,114,121,32,40,99,97,115,101,32,37,100,41,0,0,0,67,97,110,110,111,116,32,113,117,97,110,116,105,122,101,32,109,111,114,101,32,116,104,97,110,32,37,100,32,99,111,108,111,114,32,99,111,109,112,111,110,101,110,116,115,0,0,0,67,97,110,110,111,116,32,113,117,97,110,116,105,122,101,32,116,111,32,102,101,119,101,114,32,116,104,97,110,32,37,100,32,99,111,108,111,114,115,0,67,97,110,110,111,116,32,113,117,97,110,116,105,122,101,32,116,111,32,109,111,114,101,32,116,104,97,110,32,37,100,32,99,111,108,111,114,115,0,0,73,110,118,97,108,105,100,32,74,80,69,71,32,102,105,108,101,32,115,116,114,117,99,116,117,114,101,58,32,37,115,32,98,101,102,111,114,101,32,83,79,70,0,0,0,0,0,0,73,110,118,97,108,105,100,32,74,80,69,71,32,102,105,108,101,32,115,116,114,117,99,116,117,114,101,58,32,116,119,111,32,83,79,70,32,109,97,114,107,101,114,115,0,0,0,0,73,110,118,97,108,105,100,32,74,80,69,71,32,102,105,108,101,32,115,116,114,117,99,116,117,114,101,58,32,109,105,115,115,105,110,103,32,83,79,83,32,109,97,114,107,101,114,0,85,110,115,117,112,112,111,114,116,101,100,32,74,80,69,71,32,112,114,111,99,101,115,115,58,32,83,79,70,32,116,121,112,101,32,48,120,37,48,50,120,0,0,0,0,0,0,0,73,110,118,97,108,105,100,32,74,80,69,71,32,102,105,108,101,32,115,116,114,117,99,116,117,114,101,58,32,116,119,111,32,83,79,73,32,109,97,114,107,101,114,115,0,0,0,0,70,97,105,108,101,100,32,116,111,32,99,114,101,97,116,101,32,116,101,109,112,111,114,97,114,121,32,102,105,108,101,32,37,115,0,0,0,0,0,0,82,101,97,100,32,102,97,105,108,101,100,32,111,110,32,116,101,109,112,111,114,97,114,121,32,102,105,108,101,0,0,0,83,101,101,107,32,102,97,105,108,101,100,32,111,110,32,116,101,109,112,111,114,97,114,121,32,102,105,108,101,0,0,0,87,114,105,116,101,32,102,97,105,108,101,100,32,111,110,32,116,101,109,112,111,114,97,114,121,32,102,105,108,101,32,45,45,45,32,111,117,116,32,111,102,32,100,105,115,107,32,115,112,97,99,101,63,0,0,0,65,112,112,108,105,99,97,116,105,111,110,32,116,114,97,110,115,102,101,114,114,101,100,32,116,111,111,32,102,101,119,32,115,99,97,110,108,105,110,101,115,0,0,0,0,0,0,0,85,110,115,117,112,112,111,114,116,101,100,32,109,97,114,107,101,114,32,116,121,112,101,32,48,120,37,48,50,120,0,0,86,105,114,116,117,97,108,32,97,114,114,97,121,32,99,111,110,116,114,111,108,108,101,114,32,109,101,115,115,101,100,32,117,112,0,0,0,0,0,0,73,109,97,103,101,32,116,111,111,32,119,105,100,101,32,102,111,114,32,116,104,105,115,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110,0,0,82,101,97,100,32,102,114,111,109,32,88,77,83,32,102,97,105,108,101,100,0,0,0,0,87,114,105,116,101,32,116,111,32,88,77,83,32,102,97,105,108,101,100,0,0,0,0,0,67,111,112,121,114,105,103,104,116,32,40,67,41,32,50,48,49,52,44,32,84,104,111,109,97,115,32,71,46,32,76,97,110,101,44,32,71,117,105,100,111,32,86,111,108,108,98,101,100,105,110,103,0,0,0,0,57,97,32,32,49,57,45,74,97,110,45,50,48,49,52,0,67,97,117,116,105,111,110,58,32,113,117,97,110,116,105,122,97,116,105,111,110,32,116,97,98,108,101,115,32,97,114,101,32,116,111,111,32,99,111,97,114,115,101,32,102,111,114,32,98,97,115,101,108,105,110,101,32,74,80,69,71,0,0,0,65,100,111,98,101,32,65,80,80,49,52,32,109,97,114,107,101,114,58,32,118,101,114,115,105,111,110,32,37,100,44,32,102,108,97,103,115,32,48,120,37,48,52,120,32,48,120,37,48,52,120,44,32,116,114,97,110,115,102,111,114,109,32,37,100,0,0,0,0,0,0,0,85,110,107,110,111,119,110,32,65,80,80,48,32,109,97,114,107,101,114,32,40,110,111,116,32,74,70,73,70,41,44,32,108,101,110,103,116,104,32,37,117,0,0,0,0,0,0,0,85,110,107,110,111,119,110,32,65,80,80,49,52,32,109,97,114,107,101,114,32,40,110,111,116,32,65,100,111,98,101,41,44,32,108,101,110,103,116,104,32,37,117,0,0,0,0,0,68,101,102,105,110,101,32,65,114,105,116,104,109,101,116,105,99,32,84,97,98,108,101,32,48,120,37,48,50,120,58,32,48,120,37,48,50,120,0,0,68,101,102,105,110,101,32,72,117,102,102,109,97,110,32,84,97,98,108,101,32,48,120,37,48,50,120,0,0,0,0,0,68,101,102,105,110,101,32,81,117,97,110,116,105,122,97,116,105,111,110,32,84,97,98,108,101,32,37,100,32,32,112,114,101,99,105,115,105,111,110,32,37,100,0,0,0,0,0,0,68,101,102,105,110,101,32,82,101,115,116,97,114,116,32,73,110,116,101,114,118,97,108,32,37,117,0,0,0,0,0,0,70,114,101,101,100,32,69,77,83,32,104,97,110,100,108,101,32,37,117,0,0,0,0,0,79,98,116,97,105,110,101,100,32,69,77,83,32,104,97,110,100,108,101,32,37,117,0,0,69,110,100,32,79,102,32,73,109,97,103,101,0,0,0,0,32,32,32,32,32,32,32,32,37,51,100,32,37,51,100,32,37,51,100,32,37,51,100,32,37,51,100,32,37,51,100,32,37,51,100,32,37,51,100,0,74,70,73,70,32,65,80,80,48,32,109,97,114,107,101,114,58,32,118,101,114,115,105,111,110,32,37,100,46,37,48,50,100,44,32,100,101,110,115,105,116,121,32,37,100,120,37,100,32,32,37,100,0,0,0,0,87,97,114,110,105,110,103,58,32,116,104,117,109,98,110,97,105,108,32,105,109,97,103,101,32,115,105,122,101,32,100,111,101,115,32,110,111,116,32,109,97,116,99,104,32,100,97,116,97,32,108,101,110,103,116,104,32,37,117,0,0,0,0,0,74,70,73,70,32,101,120,116,101,110,115,105,111,110,32,109,97,114,107,101,114,58,32,116,121,112,101,32,48,120,37,48,50,120,44,32,108,101,110,103,116,104,32,37,117,0,0,0,32,32,32,32,119,105,116,104,32,37,100,32,120,32,37,100,32,116,104,117,109,98,110,97,105,108,32,105,109,97,103,101,0,0,0,0,0,0,0,0,77,105,115,99,101,108,108,97,110,101,111,117,115,32,109,97,114,107,101,114,32,48,120,37,48,50,120,44,32,108,101,110,103,116,104,32,37,117,0,0,85,110,101,120,112,101,99,116,101,100,32,109,97,114,107,101,114,32,48,120,37,48,50,120,0,0,0,0,0,0,0,0,32,32,32,32,32,32,32,32,37,52,117,32,37,52,117,32,37,52,117,32,37,52,117,32,37,52,117,32,37,52,117,32,37,52,117,32,37,52,117,0,81,117,97,110,116,105,122,105,110,103,32,116,111,32,37,100,32,61,32,37,100,42,37,100,42,37,100,32,99,111,108,111,114,115,0,0,0,0,0,0,81,117,97,110,116,105,122,105,110,103,32,116,111,32,37,100,32,99,111,108,111,114,115,0,83,101,108,101,99,116,101,100,32,37,100,32,99,111,108,111,114,115,32,102,111,114,32,113,117,97,110,116,105,122,97,116,105,111,110,0,0,0,0,0,65,116,32,109,97,114,107,101,114,32,48,120,37,48,50,120,44,32,114,101,99,111,118,101,114,121,32,97,99,116,105,111,110,32,37,100,0,0,0,0,82,83,84,37,100,0,0,0,83,109,111,111,116,104,105,110,103,32,110,111,116,32,115,117,112,112,111,114,116,101,100,32,119,105,116,104,32,110,111,110,115,116,97,110,100,97,114,100,32,115,97,109,112,108,105,110,103,32,114,97,116,105,111,115,0,0,0,0,0,0,0,0,83,116,97,114,116,32,79,102,32,70,114,97,109,101,32,48,120,37,48,50,120,58,32,119,105,100,116,104,61,37,117,44,32,104,101,105,103,104,116,61,37,117,44,32,99,111,109,112,111,110,101,110,116,115,61,37,100,0,0,0,0,0,0,0,32,32,32,32,67,111,109,112,111,110,101,110,116,32,37,100,58,32,37,100,104,120,37,100,118,32,113,61,37,100,0,0,83,116,97,114,116,32,111,102,32,73,109,97,103,101,0,0,83,116,97,114,116,32,79,102,32,83,99,97,110,58,32,37,100,32,99,111,109,112,111,110,101,110,116,115,0,0,0,0,32,32,32,32,67,111,109,112,111,110,101,110,116,32,37,100,58,32,100,99,61,37,100,32,97,99,61,37,100,0,0,0,32,32,83,115,61,37,100,44,32,83,101,61,37,100,44,32,65,104,61,37,100,44,32,65,108,61,37,100,0,0,0,0,67,108,111,115,101,100,32,116,101,109,112,111,114,97,114,121,32,102,105,108,101,32,37,115,0,0,0,0,0,0,0,0,79,112,101,110,101,100,32,116,101,109,112,111,114,97,114,121,32,102,105,108,101,32,37,115,0,0,0,0,0,0,0,0,74,70,73,70,32,101,120,116,101,110,115,105,111,110,32,109,97,114,107,101,114,58,32,74,80,69,71,45,99,111,109,112,114,101,115,115,101,100,32,116,104,117,109,98,110,97,105,108,32,105,109,97,103,101,44,32,108,101,110,103,116,104,32,37,117,0,0,0,0,0,0,0,74,70,73,70,32,101,120,116,101,110,115,105,111,110,32,109,97,114,107,101,114,58,32,112,97,108,101,116,116,101,32,116,104,117,109,98,110,97,105,108,32,105,109,97,103,101,44,32,108,101,110,103,116,104,32,37,117,0,0,0,0,0,0,0,74,70,73,70,32,101,120,116,101,110,115,105,111,110,32,109,97,114,107,101,114,58,32,82,71,66,32,116,104,117,109,98,110,97,105,108,32,105,109,97,103,101,44,32,108,101,110,103,116,104,32,37,117,0,0,0,85,110,114,101,99,111,103,110,105,122,101,100,32,99,111,109,112,111,110,101,110,116,32,73,68,115,32,37,100,32,37,100,32,37,100,44,32,97,115,115,117,109,105,110,103,32,89,67,98,67,114,0,0,0,0,0,70,114,101,101,100,32,88,77,83,32,104,97,110,100,108,101,32,37,117,0,0,0,0,0,79,98,116,97,105,110,101,100,32,88,77,83,32,104,97,110,100,108,101,32,37,117,0,0,85,110,107,110,111,119,110,32,65,100,111,98,101,32,99,111,108,111,114,32,116,114,97,110,115,102,111,114,109,32,99,111,100,101,32,37,100,0,0,0,67,111,114,114,117,112,116,32,74,80,69,71,32,100,97,116,97,58,32,98,97,100,32,97,114,105,116,104,109,101,116,105,99,32,99,111,100,101,0,0,73,110,99,111,110,115,105,115,116,101,110,116,32,112,114,111,103,114,101,115,115,105,111,110,32,115,101,113,117,101,110,99,101,32,102,111,114,32,99,111,109,112,111,110,101,110,116,32,37,100,32,99,111,101,102,102,105,99,105,101,110,116,32,37,100,0,0,0,0,0,0,0,67,111,114,114,117,112,116,32,74,80,69,71,32,100,97,116,97,58,32,37,117,32,101,120,116,114,97,110,101,111,117,115,32,98,121,116,101,115,32,98,101,102,111,114,101,32,109,97,114,107,101,114,32,48,120,37,48,50,120,0,0,0,0,0,67,111,114,114,117,112,116,32,74,80,69,71,32,100,97,116,97,58,32,112,114,101,109,97,116,117,114,101,32,101,110,100,32,111,102,32,100,97,116,97,32,115,101,103,109,101,110,116,0,0,0,0,0,0,0,0,67,111,114,114,117,112,116,32,74,80,69,71,32,100,97,116,97,58,32,98,97,100,32,72,117,102,102,109,97,110,32,99,111,100,101,0,0,0,0,0,87,97,114,110,105,110,103,58,32,117,110,107,110,111,119,110,32,74,70,73,70,32,114,101,118,105,115,105,111,110,32,110,117,109,98,101,114,32,37,100,46,37,48,50,100,0,0,0,80,114,101,109,97,116,117,114,101,32,101,110,100,32,111,102,32,74,80,69,71,32,102,105,108,101,0,0,0,0,0,0,67,111,114,114,117,112,116,32,74,80,69,71,32,100,97,116,97,58,32,102,111,117,110,100,32,109,97,114,107,101,114,32,48,120,37,48,50,120,32,105,110,115,116,101,97,100,32,111,102,32,82,83,84,37,100,0,73,110,118,97,108,105,100,32,83,79,83,32,112,97,114,97,109,101,116,101,114,115,32,102,111,114,32,115,101,113,117,101,110,116,105,97,108,32,74,80,69,71,0,0,0,0,0,0,65,112,112,108,105,99,97,116,105,111,110,32,116,114,97,110,115,102,101,114,114,101,100,32,116,111,111,32,109,97,110,121,32,115,99,97,110,108,105,110,101,115,0,0,0,0,0,0,232,9,0,0,0,10,0,0,32,10,0,0,72,10,0,0,104,10,0,0,136,10,0,0,160,10,0,0,192,10,0,0,240,10,0,0,48,11,0,0,80,11,0,0,104,11,0,0,128,11,0,0,152,11,0,0,216,11,0,0,8,12,0,0,40,12,0,0,80,12,0,0,136,12,0,0,192,12,0,0,216,12,0,0,248,12,0,0,40,13,0,0,120,13,0,0,152,13,0,0,200,13,0,0,232,13,0,0,16,14,0,0,56,14,0,0,96,14,0,0,120,14,0,0,144,14,0,0,168,14,0,0,192,14,0,0,232,14,0,0,0,15,0,0,24,15,0,0,64,15,0,0,88,15,0,0,136,15,0,0,176,15,0,0,216,15,0,0,0,16,0,0,48,16,0,0,72,16,0,0,104,16,0,0,168,16,0,0,208,16,0,0,248,16,0,0,16,17,0,0,64,17,0,0,104,17,0,0,136,17,0,0,176,17,0,0,216,17,0,0,8,18,0,0,56,18,0,0,88,18,0,0,136,18,0,0,176,18,0,0,216,18,0,0,8,19,0,0,56,19,0,0,104,19,0,0,152,19,0,0,200,19,0,0,240,19,0,0,16,20,0,0,48,20,0,0,104,20,0,0,152,20,0,0,184,20,0,0,224,20,0,0,8,21,0,0,32,21,0,0,56,21,0,0,112,21,0,0,128,21,0,0,192,21,0,0,8,22,0,0,56,22,0,0,104,22,0,0,144,22,0,0,176,22,0,0,224,22,0,0,0,23,0,0,24,23,0,0,48,23,0,0,64,23,0,0,104,23,0,0,160,23,0,0,224,23,0,0,16,24,0,0,56,24,0,0,96,24,0,0,128,24,0,0,168,24,0,0,208,24,0,0,232,24,0,0,16,25,0,0,56,25,0,0,64,25,0,0,128,25,0,0,192,25,0,0,224,25,0,0,240,25,0,0,16,26,0,0,48,26,0,0,80,26,0,0,112,26,0,0,144,26,0,0,216,26,0,0,24,27,0,0,80,27,0,0,136,27,0,0,160,27,0,0,184,27,0,0,224,27,0,0,8,28,0,0,80,28,0,0,144,28,0,0,200,28,0,0,240,28,0,0,32,29,0,0,64,29,0,0,120,29,0,0,168,29,0,0,0,0,0,0,37,115,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,192,48,240,12,204,60,252,3,195,51,243,15,207,63,255,128,64,176,112,140,76,188,124,131,67,179,115,143,79,191,127,32,224,16,208,44,236,28,220,35,227,19,211,47,239,31,223,160,96,144,80,172,108,156,92,163,99,147,83,175,111,159,95,8,200,56,248,4,196,52,244,11,203,59,251,7,199,55,247,136,72,184,120,132,68,180,116,139,75,187,123,135,71,183,119,40,232,24,216,36,228,20,212,43,235,27,219,39,231,23,215,168,104,152,88,164,100,148,84,171,107,155,91,167,103,151,87,2,194,50,242,14,206,62,254,1,193,49,241,13,205,61,253,130,66,178,114,142,78,190,126,129,65,177,113,141,77,189,125,34,226,18,210,46,238,30,222,33,225,17,209,45,237,29,221,162,98,146,82,174,110,158,94,161,97,145,81,173,109,157,93,10,202,58,250,6,198,54,246,9,201,57,249,5,197,53,245,138,74,186,122,134,70,182,118,137,73,185,121,133,69,181,117,42,234,26,218,38,230,22,214,41,233,25,217,37,229,21,213,170,106,154,90,166,102,150,86,169,105,153,89,165,101,149,85,0,0,0,0,1,0,0,0,8,0,0,0,16,0,0,0,9,0,0,0,2,0,0,0,3,0,0,0,10,0,0,0,17,0,0,0,24,0,0,0,32,0,0,0,25,0,0,0,18,0,0,0,11,0,0,0,4,0,0,0,5,0,0,0,12,0,0,0,19,0,0,0,26,0,0,0,33,0,0,0,40,0,0,0,48,0,0,0,41,0,0,0,34,0,0,0,27,0,0,0,20,0,0,0,13,0,0,0,6,0,0,0,7,0,0,0,14,0,0,0,21,0,0,0,28,0,0,0,35,0,0,0,42,0,0,0,49,0,0,0,56,0,0,0,57,0,0,0,50,0,0,0,43,0,0,0,36,0,0,0,29,0,0,0,22,0,0,0,15,0,0,0,23,0,0,0,30,0,0,0,37,0,0,0,44,0,0,0,51,0,0,0,58,0,0,0,59,0,0,0,52,0,0,0,45,0,0,0,38,0,0,0,31,0,0,0,39,0,0,0,46,0,0,0,53,0,0,0,60,0,0,0,61,0,0,0,54,0,0,0,47,0,0,0,55,0,0,0,62,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,16,0,0,0,9,0,0,0,2,0,0,0,3,0,0,0,10,0,0,0,17,0,0,0,24,0,0,0,32,0,0,0,25,0,0,0,18,0,0,0,11,0,0,0,4,0,0,0,5,0,0,0,12,0,0,0,19,0,0,0,26,0,0,0,33,0,0,0,40,0,0,0,48,0,0,0,41,0,0,0,34,0,0,0,27,0,0,0,20,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,21,0,0,0,28,0,0,0,35,0,0,0,42,0,0,0,49,0,0,0,50,0,0,0,43,0,0,0,36,0,0,0,29,0,0,0,22,0,0,0,30,0,0,0,37,0,0,0,44,0,0,0,51,0,0,0,52,0,0,0,45,0,0,0,38,0,0,0,46,0,0,0,53,0,0,0,54,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,16,0,0,0,9,0,0,0,2,0,0,0,3,0,0,0,10,0,0,0,17,0,0,0,24,0,0,0,32,0,0,0,25,0,0,0,18,0,0,0,11,0,0,0,4,0,0,0,5,0,0,0,12,0,0,0,19,0,0,0,26,0,0,0,33,0,0,0,40,0,0,0,41,0,0,0,34,0,0,0,27,0,0,0,20,0,0,0,13,0,0,0,21,0,0,0,28,0,0,0,35,0,0,0,42,0,0,0,43,0,0,0,36,0,0,0,29,0,0,0,37,0,0,0,44,0,0,0,45,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,16,0,0,0,9,0,0,0,2,0,0,0,3,0,0,0,10,0,0,0,17,0,0,0,24,0,0,0,32,0,0,0,25,0,0,0,18,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,19,0,0,0,26,0,0,0,33,0,0,0,34,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,35,0,0,0,36,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,16,0,0,0,9,0,0,0,2,0,0,0,3,0,0,0,10,0,0,0,17,0,0,0,24,0,0,0,25,0,0,0,18,0,0,0,11,0,0,0,19,0,0,0,26,0,0,0,27,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,16,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,17,0,0,0,18,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,9,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,74,80,69,71,77,69,77,0,37,108,100,37,99,0,0,0,64,6,0,0,128,62,0,0,0,0,0,0,136,19,0,0,74,80,69,71,68,101,99,111,100,101,114,0,0,0,0,0,115,101,116,68,101,115,105,114,101,100,83,105,122,101,0,0,100,101,99,111,100,101,0,0,105,110,112,117,116,83,105,122,101,0,0,0,0,0,0,0,85,110,107,110,111,119,110,32,74,80,69,71,32,99,111,108,111,114,32,115,112,97,99,101,0,0,0,0,0,0,0,0,111,117,116,112,117,116,83,105,122,101,0,0,0,0,0,0,69,120,105,102,0,0,0,0,248,38,0,0,80,101,0,0,80,101,0,0,0,0,0,0,78,83,116,51,95,95,49,49,50,98,97,115,105,99,95,115,116,114,105,110,103,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,99,69,69,69,69,0,0,78,83,116,51,95,95,49,50,49,95,95,98,97,115,105,99,95,115,116,114,105,110,103,95,99,111,109,109,111,110,73,76,98,49,69,69,69,0,0,0,32,100,0,0,200,38,0,0,248,101,0,0,136,38,0,0,0,0,0,0,1,0,0,0,240,38,0,0,0,0,0,0,248,38,0,0,248,38,0,0,248,38,0,0,0,0,0,0,105,105,105,105,0,0,0,0,224,100,0,0,96,39,0,0,248,38,0,0,0,0,0,0,80,49,49,74,80,69,71,68,101,99,111,100,101,114,0,0,49,49,74,80,69,71,68,101,99,111,100,101,114,0,0,0,32,100,0,0,72,39,0,0,72,100,0,0,56,39,0,0,0,0,0,0,88,39,0,0,105,105,105,0,0,0,0,0,105,105,105,0,0,0,0,0,118,105,105,105,105,0,0,0,192,100,0,0,96,39,0,0,64,101,0,0,64,101,0,0,118,105,105,105,0,0,0,0,105,105,105,0,0,0,0,0,78,49,48,101,109,115,99,114,105,112,116,101,110,51,118,97,108,69,0,0,0,0,0,0,32,100,0,0,168,39,0,0,105,105,0,0,0,0,0,0,96,39,0,0,0,0,0,0,118,105,0,0,0,0,0,0,118,0,0,0,0,0,0,0,105,105,0,0,0,0,0,0,80,75,49,49,74,80,69,71,68,101,99,111,100,101,114,0,72,100,0,0,240,39],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE);allocate([1,0,0,0,88,39,0,0,74,80,69,71,69,110,99,111,100,101,114,0,0,0,0,0,99,97,108,108,98,97,99,107,0,0,0,0,0,0,0,0,119,105,100,116,104,0,0,0,104,101,105,103,104,116,0,0,113,117,97,108,105,116,121,0,99,111,108,111,114,83,112,97,99,101,0,0,0,0,0,0,101,110,99,111,100,101,0,0,101,110,100,0,0,0,0,0,101,114,114,111,114,0,0,0,248,38,0,0,80,101,0,0,80,101,0,0,0,0,0,0,118,105,105,0,0,0,0,0,192,100,0,0,184,40,0,0,80,49,49,74,80,69,71,69,110,99,111,100,101,114,0,0,49,49,74,80,69,71,69,110,99,111,100,101,114,0,0,0,32,100,0,0,160,40,0,0,72,100,0,0,144,40,0,0,0,0,0,0,176,40,0,0,118,105,105,105,0,0,0,0,192,100,0,0,184,40,0,0,248,38,0,0,0,0,0,0,118,105,105,105,0,0,0,0,105,105,105,0,0,0,0,0,118,105,105,105,0,0,0,0,105,105,105,0,0,0,0,0,118,105,105,105,0,0,0,0,105,105,105,0,0,0,0,0,105,105,0,0,0,0,0,0,184,40,0,0,0,0,0,0,118,105,0,0,0,0,0,0,105,105,0,0,0,0,0,0,80,75,49,49,74,80,69,71,69,110,99,111,100,101,114,0,72,100,0,0,48,41,0,0,1,0,0,0,176,40,0,0,103,114,97,121,0,0,0,0,99,109,121,107,0,0,0,0,114,103,98,0,0,0,0,0,118,111,105,100,0,0,0,0,98,111,111,108,0,0,0,0,99,104,97,114,0,0,0,0,115,105,103,110,101,100,32,99,104,97,114,0,0,0,0,0,117,110,115,105,103,110,101,100,32,99,104,97,114,0,0,0,115,104,111,114,116,0,0,0,117,110,115,105,103,110,101,100,32,115,104,111,114,116,0,0,105,110,116,0,0,0,0,0,117,110,115,105,103,110,101,100,32,105,110,116,0,0,0,0,108,111,110,103,0,0,0,0,117,110,115,105,103,110,101,100,32,108,111,110,103,0,0,0,102,108,111,97,116,0,0,0,100,111,117,98,108,101,0,0,115,116,100,58,58,115,116,114,105,110,103,0,0,0,0,0,115,116,100,58,58,98,97,115,105,99,95,115,116,114,105,110,103,60,117,110,115,105,103,110,101,100,32,99,104,97,114,62,0,0,0,0,0,0,0,0,115,116,100,58,58,119,115,116,114,105,110,103,0,0,0,0,101,109,115,99,114,105,112,116,101,110,58,58,118,97,108,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,99,104,97,114,62,0,0,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,115,105,103,110,101,100,32,99,104,97,114,62,0,0,0,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,117,110,115,105,103,110,101,100,32,99,104,97,114,62,0,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,115,104,111,114,116,62,0,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,117,110,115,105,103,110,101,100,32,115,104,111,114,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,105,110,116,62,0,0,0,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,117,110,115,105,103,110,101,100,32,105,110,116,62,0,0,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,108,111,110,103,62,0,0,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,117,110,115,105,103,110,101,100,32,108,111,110,103,62,0,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,105,110,116,56,95,116,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,117,105,110,116,56,95,116,62,0,0,0,0,0,0,0,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,105,110,116,49,54,95,116,62,0,0,0,0,0,0,0,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,117,105,110,116,49,54,95,116,62,0,0,0,0,0,0,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,105,110,116,51,50,95,116,62,0,0,0,0,0,0,0,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,117,105,110,116,51,50,95,116,62,0,0,0,0,0,0,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,102,108,111,97,116,62,0,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,100,111,117,98,108,101,62,0,101,109,115,99,114,105,112,116,101,110,58,58,109,101,109,111,114,121,95,118,105,101,119,60,108,111,110,103,32,100,111,117,98,108,101,62,0,0,0,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,101,69,69,0,0,32,100,0,0,232,44,0,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,100,69,69,0,0,32,100,0,0,16,45,0,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,102,69,69,0,0,32,100,0,0,56,45,0,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,109,69,69,0,0,32,100,0,0,96,45,0,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,108,69,69,0,0,32,100,0,0,136,45,0,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,106,69,69,0,0,32,100,0,0,176,45,0,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,105,69,69,0,0,32,100,0,0,216,45,0,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,116,69,69,0,0,32,100,0,0,0,46,0,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,115,69,69,0,0,32,100,0,0,40,46,0,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,104,69,69,0,0,32,100,0,0,80,46,0,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,97,69,69,0,0,32,100,0,0,120,46,0,0,78,49,48,101,109,115,99,114,105,112,116,101,110,49,49,109,101,109,111,114,121,95,118,105,101,119,73,99,69,69,0,0,32,100,0,0,160,46,0,0,78,83,116,51,95,95,49,49,50,98,97,115,105,99,95,115,116,114,105,110,103,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,119,69,69,69,69,0,0,248,101,0,0,200,46,0,0,0,0,0,0,1,0,0,0,240,38,0,0,0,0,0,0,78,83,116,51,95,95,49,49,50,98,97,115,105,99,95,115,116,114,105,110,103,73,104,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,104,69,69,78,83,95,57,97,108,108,111,99,97,116,111,114,73,104,69,69,69,69,0,0,248,101,0,0,32,47,0,0,0,0,0,0,1,0,0,0,240,38],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+10240);allocate([52,0,0,22,0,0,0,23,0,0,0,22,0,0,0,22,0,0,0,22,0,0,0,22,0,0,0,22,0,0,0,23,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,22,0,0,0,24,0,0,0,23,0,0,0,78,83,116,51,95,95,49,49,49,95,95,115,116,100,111,117,116,98,117,102,73,119,69,69,0,0,0,0,0,0,0,0,152,101,0,0,224,51,0,0,120,57,0,0,0,0,0,0,0,0,0,0,104,52,0,0,24,0,0,0,25,0,0,0,23,0,0,0,22,0,0,0,22,0,0,0,22,0,0,0,26,0,0,0,23,0,0,0,23,0,0,0,27,0,0,0,28,0,0,0,24,0,0,0,25,0,0,0,25,0,0,0,78,83,116,51,95,95,49,49,48,95,95,115,116,100,105,110,98,117,102,73,119,69,69,0,152,101,0,0,80,52,0,0,120,57,0,0,0,0,0,0,117,110,115,117,112,112,111,114,116,101,100,32,108,111,99,97,108,101,32,102,111,114,32,115,116,97,110,100,97,114,100,32,105,110,112,117,116,0,0,0,0,0,0,0,0,53,0,0,26,0,0,0,27,0,0,0,24,0,0,0,26,0,0,0,23,0,0,0,23,0,0,0,29,0,0,0,30,0,0,0,27,0,0,0,31,0,0,0,32,0,0,0,26,0,0,0,28,0,0,0,27,0,0,0,78,83,116,51,95,95,49,49,49,95,95,115,116,100,111,117,116,98,117,102,73,99,69,69,0,0,0,0,0,0,0,0,152,101,0,0,224,52,0,0,56,57,0,0,0,0,0,0,0,0,0,0,104,53,0,0,28,0,0,0,29,0,0,0,25,0,0,0,26,0,0,0,23,0,0,0,23,0,0,0,33,0,0,0,30,0,0,0,27,0,0,0,34,0,0,0,35,0,0,0,28,0,0,0,29,0,0,0,29,0,0,0,78,83,116,51,95,95,49,49,48,95,95,115,116,100,105,110,98,117,102,73,99,69,69,0,152,101,0,0,80,53,0,0,56,57,0,0,0,0,0,0,78,83,116,51,95,95,49,49,52,95,95,115,104,97,114,101,100,95,99,111,117,110,116,69,0,0,0,0,0,0,0,0,32,100,0,0,120,53,0,0,58,32,0,0,0,0,0,0,0,0,0,0,216,53,0,0,30,0,0,0,31,0,0,0,36,0,0,0,0,0,0,0,78,83,116,51,95,95,49,49,50,115,121,115,116,101,109,95,101,114,114,111,114,69,0,0,152,101,0,0,192,53,0,0,200,98,0,0,0,0,0,0,78,83,116,51,95,95,49,49,52,101,114,114,111,114,95,99,97,116,101,103,111,114,121,69,0,0,0,0,0,0,0,0,32,100,0,0,232,53,0,0,78,83,116,51,95,95,49,49,50,95,95,100,111,95,109,101,115,115,97,103,101,69,0,0,152,101,0,0,16,54,0,0,8,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,97,115,105,99,95,115,116,114,105,110,103,0,0,0,0,0,0,0,0,56,57,0,0,32,0,0,0,33,0,0,0,26,0,0,0,26,0,0,0,23,0,0,0,23,0,0,0,33,0,0,0,30,0,0,0,27,0,0,0,31,0,0,0,32,0,0,0,26,0,0,0,29,0,0,0,29,0,0,0,0,0,0,0,120,57,0,0,34,0,0,0,35,0,0,0,27,0,0,0,22,0,0,0,22,0,0,0,22,0,0,0,26,0,0,0,23,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,22,0,0,0,25,0,0,0,25,0,0,0,8,0,0,0,0,0,0,0,176,57,0,0,36,0,0,0,37,0,0,0,248,255,255,255,248,255,255,255,176,57,0,0,38,0,0,0,39,0,0,0,8,0,0,0,0,0,0,0,248,57,0,0,40,0,0,0,41,0,0,0,248,255,255,255,248,255,255,255,248,57,0,0,42,0,0,0,43,0,0,0,4,0,0,0,0,0,0,0,64,58,0,0,44,0,0,0,45,0,0,0,252,255,255,255,252,255,255,255,64,58,0,0,46,0,0,0,47,0,0,0,4,0,0,0,0,0,0,0,136,58,0,0,48,0,0,0,49,0,0,0,252,255,255,255,252,255,255,255,136,58,0,0,50,0,0,0,51,0,0,0,105,111,115,116,114,101,97,109,0,0,0,0,0,0,0,0,117,110,115,112,101,99,105,102,105,101,100,32,105,111,115,116,114,101,97,109,95,99,97,116,101,103,111,114,121,32,101,114,114,111,114,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,56,0,0,52,0,0,0,53,0,0,0,36,0,0,0,0,0,0,0,0,0,0,0,120,56,0,0,54,0,0,0,55,0,0,0,105,111,115,95,98,97,115,101,58,58,99,108,101,97,114,0,78,83,116,51,95,95,49,56,105,111,115,95,98,97,115,101,55,102,97,105,108,117,114,101,69,0,0,0,0,0,0,0,152,101,0,0,48,56,0,0,216,53,0,0,0,0,0,0,78,83,116,51,95,95,49,56,105,111,115,95,98,97,115,101,69,0,0,0,0,0,0,0,32,100,0,0,96,56,0,0,78,83,116,51,95,95,49,57,98,97,115,105,99,95,105,111,115,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,0,0,0,0,0,0,152,101,0,0,128,56,0,0,120,56,0,0,0,0,0,0,78,83,116,51,95,95,49,57,98,97,115,105,99,95,105,111,115,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,0,0,0,0,0,0,152,101,0,0,192,56,0,0,120,56,0,0,0,0,0,0,78,83,116,51,95,95,49,49,53,98,97,115,105,99,95,115,116,114,101,97,109,98,117,102,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,0,0,0,0,0,0,0,32,100,0,0,0,57,0,0,78,83,116,51,95,95,49,49,53,98,97,115,105,99,95,115,116,114,101,97,109,98,117,102,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,0,0,0,0,0,0,0,32,100,0,0,64,57,0,0,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,105,115,116,114,101,97,109,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,0,248,101,0,0,128,57,0,0,0,0,0,0,1,0,0,0,176,56,0,0,3,244,255,255,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,105,115,116,114,101,97,109,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,0,248,101,0,0,200,57,0,0,0,0,0,0,1,0,0,0,240,56,0,0,3,244,255,255,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,111,115,116,114,101,97,109,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,0,0,248,101,0,0,16,58,0,0,0,0,0,0,1,0,0,0,176,56,0,0,3,244,255,255,78,83,116,51,95,95,49,49,51,98,97,115,105,99,95,111,115,116,114,101,97,109,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,0,0,248,101,0,0,88,58,0,0,0,0,0,0,1,0,0,0,240,56,0,0,3,244,255,255,0,0,0,0,232,58,0,0,56,0,0,0,57,0,0,0,37,0,0,0,22,0,0,0,30,0,0,0,31,0,0,0,23,0,0,0,0,0,0,0,78,83,116,51,95,95,49,49,57,95,95,105,111,115,116,114,101,97,109,95,99,97,116,101,103,111,114,121,69,0,0,0,152,101,0,0,200,58,0,0,40,54,0,0,0,0,0,0,0,0,0,0,248,72,0,0,58,0,0,0,59,0,0,0,60,0,0,0,22,0,0,0,24,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,73,0,0,61,0,0,0,62,0,0,0,60,0,0,0,23,0,0,0,25,0,0,0,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,77,0,0,63,0,0,0,64,0,0,0,60,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102,65,66,67,68,69,70,120,88,43,45,112,80,105,73,110,78,0,0,0,0,0,0,0,0,37,112,0,0,0,0,0,0,0,0,0,0,104,78,0,0,65,0,0,0,66,0,0,0,60,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,41,0,0,0,42,0,0,0,43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,79,0,0,67,0,0,0,68,0,0,0,60,0,0,0,24,0,0,0,25,0,0,0,44,0,0,0,26,0,0,0,45,0,0,0,22,0,0,0,23,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,108,0,0,0,0,0,0,0,108,108,0,0,0,0,0,0,0,0,0,0,0,0,0,0,76,0,0,0,0,0,0,0,0,0,0,0,192,79,0,0,69,0,0,0,70,0,0,0,60,0,0,0,28,0,0,0,29,0,0,0,46,0,0,0,30,0,0,0,47,0,0,0,24,0,0,0,25,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,0,0,0,0,37,112,0,0,0,0,0,0,0,0,0,0,232,74,0,0,71,0,0,0,72,0,0,0,60,0,0,0,38,0,0,0,48,0,0,0,49,0,0,0,50,0,0,0,51,0,0,0,52,0,0,0,22,0,0,0,248,255,255,255,232,74,0,0,39,0,0,0,40,0,0,0,41,0,0,0,42,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,72,58,37,77,58,37,83,37,109,47,37,100,47,37,121,37,89,45,37,109,45,37,100,37,73,58,37,77,58,37,83,32,37,112,0,0,0,0,0,37,72,58,37,77,0,0,0,37,72,58,37,77,58,37,83,0,0,0,0,136,75,0,0,73,0,0,0,74,0,0,0,60,0,0,0,46,0,0,0,53,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,57,0,0,0,23,0,0,0,248,255,255,255,136,75,0,0,47,0,0,0,48,0,0,0,49,0,0,0,50,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,37,0,0,0,109,0,0,0,47,0,0,0,37,0,0,0,100,0,0,0,47,0,0,0,37,0,0,0,121,0,0,0,37,0,0,0,89,0,0,0,45,0,0,0,37,0,0,0,109,0,0,0,45,0,0,0,37,0,0,0,100,0,0,0,37,0,0,0,73,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,32,0,0,0,37,0,0,0,112,0,0,0,0,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,0,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,0,0,0,0,24,76,0,0,75,0,0,0,76,0,0,0,60,0,0,0,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,76,0,0,77,0,0,0,78,0,0,0,60,0,0,0,23,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,73,0,0,79,0,0,0,80,0,0,0,60,0,0,0,54,0,0,0,55,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,56,0,0,0,32,0,0,0,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,73,0,0,81,0,0,0,82,0,0,0,60,0,0,0,57,0,0,0,58,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,59,0,0,0,38,0,0,0,39,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,73,0,0,83,0,0,0,84,0,0,0,60,0,0,0,60,0,0,0,61,0,0,0,40,0,0,0,41,0,0,0,42,0,0,0,43,0,0,0,62,0,0,0,44,0,0,0,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,74,0,0,85,0,0,0,86,0,0,0,60,0,0,0,63,0,0,0,64,0,0,0,46,0,0,0,47,0,0,0,48,0,0,0,49,0,0,0,65,0,0,0,50,0,0,0,51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,80,0,0,87,0,0,0,88,0,0,0,60,0,0,0,24,0,0,0,25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,49,50,51,52,53,54,55,56,57,0,0,0,0,0,0,37,76,102,0,0,0,0,0,109,111,110,101,121,95,103,101,116,32,101,114,114,111,114,0,0,0,0,0,224,80,0,0,89,0,0,0,90,0,0,0,60,0,0,0,26,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,49,50,51,52,53,54,55,56,57,0,0,0,0,0,0,0,0,0,0,112,81,0,0,91,0,0,0,92,0,0,0,60,0,0,0,22,0,0,0,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,46,48,76,102,0,0,0,0,0,0,0,0,82,0,0,93,0,0,0,94,0,0,0,60,0,0,0,23,0,0,0,59,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,216,76,0,0,95,0,0,0,96,0,0,0,60,0,0,0,34,0,0,0,32,0,0,0,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,77,0,0,97,0,0,0,98,0,0,0,60,0,0,0,35,0,0,0,33,0,0,0,53,0,0,0,0,0,0,0,0,0,0,0,118,101,99,116,111,114,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,67,0,0,0,0,0,0,0,0,0,0,0,208,72,0,0,99,0,0,0,100,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,69,0,0,101,0,0,0,102,0,0,0,60,0,0,0,30,0,0,0,36,0,0,0,31,0,0,0,37,0,0,0,32,0,0,0,22,0,0,0,38,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,70,0,0,103,0,0,0,104,0,0,0,60,0,0,0,22,0,0,0,23,0,0,0,25,0,0,0,66,0,0,0,67,0,0,0,26,0,0,0,68,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,72,0,0,105,0,0,0,106,0,0,0,60,0,0,0,69,0,0,0,70,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,0,0,0,0,168,72,0,0,107,0,0,0,108,0,0,0,60,0,0,0,71,0,0,0,72,0,0,0,57,0,0,0,58,0,0,0,59,0,0,0,116,0,0,0,114,0,0,0,117,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,102,97,108,115,101,0,0,0,102,0,0,0,97,0,0,0,108,0,0,0,115,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,109,0,0,0,47,0,0,0,37,0,0,0,100,0,0,0,47,0,0,0,37,0,0,0,121,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,97,32,37,98,32,37,100,32,37,72,58,37,77,58,37,83,32,37,89,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,97,0,0,0,32,0,0,0,37,0,0,0,98,0,0,0,32,0,0,0,37,0,0,0,100,0,0,0,32,0,0,0,37,0,0,0,72,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,32,0,0,0,37,0,0,0,89,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,73,58,37,77,58,37,83,32,37,112,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,37,0,0,0,73,0,0,0,58,0,0,0,37,0,0,0,77,0,0,0,58,0,0,0,37,0,0,0,83,0,0,0,32,0,0,0,37,0,0,0,112,0,0,0,0,0,0,0,108,111,99,97,108,101,32,110,111,116,32,115,117,112,112,111,114,116,101,100,0,0,0,0,0,0,0,0,224,68,0,0,109,0,0,0,110,0,0,0,60,0,0,0,0,0,0,0,78,83,116,51,95,95,49,54,108,111,99,97,108,101,53,102,97,99,101,116,69,0,0,0,152,101,0,0,200,68,0,0,152,53,0,0,0,0,0,0,0,0,0,0,112,69,0,0,109,0,0,0,111,0,0,0,60,0,0,0,39,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,33,0,0,0,40,0,0,0,34,0,0,0,41,0,0,0,35,0,0,0,26,0,0,0,42,0,0,0,27,0,0,0,0,0,0,0,78,83,116,51,95,95,49,53,99,116,121,112,101,73,119,69,69,0,0,0,0,0,0,0,78,83,116,51,95,95,49,49,48,99,116,121,112,101,95,98,97,115,101,69,0,0,0,0,32,100,0,0,80,69,0,0,248,101,0,0,56,69,0,0,0,0,0,0,2,0,0,0,224,68,0,0,2,0,0,0,104,69,0,0,2,0,0,0,78,83,116,51,95,95,49,53,99,116,121,112,101,73,99,69,69,0,0,0,0,0,0,0,248,101,0,0,144,69,0,0,0,0,0,0,2,0,0,0,224,68,0,0,2,0,0,0,104,69,0,0,2,0,0,0,0,0,0,0,64,70,0,0,109,0,0,0,112,0,0,0,60,0,0,0,24,0,0,0,25,0,0,0,28,0,0,0,73,0,0,0,74,0,0,0,29,0,0,0,75,0,0,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,99,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,0,0,0,0,0,0,78,83,116,51,95,95,49,49,50,99,111,100,101,99,118,116,95,98,97,115,101,69,0,0,32,100,0,0,32,70,0,0,248,101,0,0,248,69,0,0,0,0,0,0,2,0,0,0,224,68,0,0,2,0,0,0,56,70,0,0,2,0,0,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,119,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,0,0,0,0,0,0,248,101,0,0,96,70,0,0,0,0,0,0,2,0,0,0,224,68,0,0,2,0,0,0,56,70,0,0,2,0,0,0,0,0,0,0,0,71,0,0,109,0,0,0,113,0,0,0,60,0,0,0,26,0,0,0,27,0,0,0,30,0,0,0,76,0,0,0,77,0,0,0,31,0,0,0,78,0,0,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,68,115,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,0,0,0,0,0,248,101,0,0,216,70,0,0,0,0,0,0,2,0,0,0,224,68,0,0,2,0,0,0,56,70,0,0,2,0,0,0,0,0,0,0,120,71,0,0,109,0,0,0,114,0,0,0,60,0,0,0,28,0,0,0,29,0,0,0,32,0,0,0,79,0,0,0,80,0,0,0,33,0,0,0,81,0,0,0,78,83,116,51,95,95,49,55,99,111,100,101,99,118,116,73,68,105,99,49,49,95,95,109,98,115,116,97,116,101,95,116,69,69,0,0,0,0,0,0,248,101,0,0,80,71,0,0,0,0,0,0,2,0,0,0,224,68,0,0,2,0,0,0,56,70,0,0,2,0,0,0,0,0,0,0,240,71,0,0,109,0,0,0,115,0,0,0,60,0,0,0,28,0,0,0,29,0,0,0,32,0,0,0,79,0,0,0,80,0,0,0,33,0,0,0,81,0,0,0,78,83,116,51,95,95,49,49,54,95,95,110,97,114,114,111,119,95,116,111,95,117,116,102,56,73,76,106,51,50,69,69,69,0,0,0,0,0,0,0,152,101,0,0,200,71,0,0,120,71,0,0,0,0,0,0,0,0,0,0,88,72,0,0,109,0,0,0,116,0,0,0,60,0,0,0,28,0,0,0,29,0,0,0,32,0,0,0,79,0,0,0,80,0,0,0,33,0,0,0,81,0,0,0,78,83,116,51,95,95,49,49,55,95,95,119,105,100,101,110,95,102,114,111,109,95,117,116,102,56,73,76,106,51,50,69,69,69,0,0,0,0,0,0,152,101,0,0,48,72,0,0,120,71,0,0,0,0,0,0,78,83,116,51,95,95,49,56,110,117,109,112,117,110,99,116,73,99,69,69,0,0,0,0,152,101,0,0,104,72,0,0,224,68,0,0,0,0,0,0,78,83,116,51,95,95,49,56,110,117,109,112,117,110,99,116,73,119,69,69,0,0,0,0,152,101,0,0,144,72,0,0,224,68,0,0,0,0,0,0,78,83,116,51,95,95,49,54,108,111,99,97,108,101,53,95,95,105,109,112,69,0,0,0,152,101,0,0,184,72,0,0,224,68,0,0,0,0,0,0,78,83,116,51,95,95,49,55,99,111,108,108,97,116,101,73,99,69,69,0,0,0,0,0,152,101,0,0,224,72,0,0,224,68,0,0,0,0,0,0,78,83,116,51,95,95,49,55,99,111,108,108,97,116,101,73,119,69,69,0,0,0,0,0,152,101,0,0,8,73,0,0,224,68,0,0,0,0,0,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,99,76,98,48,69,69,69,0,0,0,0,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,95,98,97,115,101,69,0,0,0,0,32,100,0,0,80,73,0,0,248,101,0,0,48,73,0,0,0,0,0,0,2,0,0,0,224,68,0,0,2,0,0,0,104,73,0,0,2,0,0,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,99,76,98,49,69,69,69,0,0,0,0,0,248,101,0,0,144,73,0,0,0,0,0,0,2,0,0,0,224,68,0,0,2,0,0,0,104,73,0,0,2,0,0,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,119,76,98,48,69,69,69,0,0,0,0,0,248,101,0,0,208,73,0,0,0,0,0,0,2,0,0,0,224,68,0,0,2,0,0,0,104,73,0,0,2,0,0,0,78,83,116,51,95,95,49,49,48,109,111,110,101,121,112,117,110,99,116,73,119,76,98,49,69,69,69,0,0,0,0,0,248,101,0,0,16,74,0,0,0,0,0,0,2,0,0,0,224,68,0,0,2,0,0,0,104,73,0,0,2,0,0,0,78,83,116,51,95,95,49,56,116,105,109,101,95,103,101,116,73,99,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,0,0,0,78,83,116,51,95,95,49,57,116,105,109,101,95,98,97,115,101,69,0,0,0,0,0,0,32,100,0,0,152,74,0,0,78,83,116,51,95,95,49,50,48,95,95,116,105,109,101,95,103,101,116,95,99,95,115,116,111,114,97,103,101,73,99,69,69,0,0,0,0,0,0,0,32,100,0,0,184,74,0,0,248,101,0,0,80,74,0,0,0,0,0,0,3,0,0,0,224,68,0,0,2,0,0,0,176,74,0,0,2,0,0,0,224,74,0,0,0,8,0,0,78,83,116,51,95,95,49,56,116,105,109,101,95,103,101,116,73,119,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,0,0,0,78,83,116,51,95,95,49,50,48,95,95,116,105,109,101,95,103,101,116,95,99,95,115,116,111,114,97,103,101,73,119,69,69,0,0,0,0,0,0,0,32,100,0,0,88,75,0,0,248,101,0,0,16,75,0,0,0,0,0,0,3,0,0,0,224,68,0,0,2,0,0,0,176,74,0,0,2,0,0,0,128,75,0,0,0,8,0,0,78,83,116,51,95,95,49,56,116,105,109,101,95,112,117,116,73,99,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,0,0,0,78,83,116,51,95,95,49,49,48,95,95,116,105,109,101,95,112,117,116,69,0,0,0,0,32,100,0,0,248,75,0,0,248,101,0,0,176,75,0,0,0,0,0,0,2,0,0,0,224,68,0,0,2,0,0,0,16,76,0,0,0,8,0,0,78,83,116,51,95,95,49,56,116,105,109,101,95,112,117,116,73,119,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,0,0,0,248,101,0,0,56,76,0,0,0,0,0,0,2,0,0,0,224,68,0,0,2,0,0,0,16,76,0,0,0,8,0,0,78,83,116,51,95,95,49,56,109,101,115,115,97,103,101,115,73,99,69,69,0,0,0,0,78,83,116,51,95,95,49,49,51,109,101,115,115,97,103,101,115,95,98,97,115,101,69,0,32,100,0,0,184,76,0,0,248,101,0,0,160,76,0,0,0,0,0,0,2,0,0,0,224,68,0,0,2,0,0,0,208,76,0,0,2,0,0,0,78,83,116,51,95,95,49,56,109,101,115,115,97,103,101,115,73,119,69,69,0,0,0,0,248,101,0,0,248,76,0,0,0,0,0,0,2,0,0,0,224,68,0,0,2,0,0,0,208,76,0,0,2,0,0,0,78,83,116,51,95,95,49,55,110,117,109,95,103,101,116,73,99,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,0,0,0,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,103,101,116,73,99,69,69,0,0,0,78,83,116,51,95,95,49,49,52,95,95,110,117,109,95,103,101,116,95,98,97,115,101,69,0,0,0,0,0,0,0,0,32,100,0,0,144,77,0,0,248,101,0,0,120,77,0,0,0,0,0,0,1,0,0,0,176,77,0,0,0,0,0,0,248,101,0,0,48,77,0,0,0,0,0,0,2,0,0,0,224,68,0,0,2,0,0,0,184,77,0,0,0,0,0,0,78,83,116,51,95,95,49,55,110,117,109,95,103,101,116,73,119,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,0,0,0,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,103,101,116,73,119,69,69,0,0,0,248,101,0,0,56,78,0,0,0,0,0,0,1,0,0,0,176,77,0,0,0,0,0,0,248,101,0,0,240,77,0,0,0,0,0,0,2,0,0,0,224,68,0,0,2,0,0,0,80,78,0,0,0,0,0,0,78,83,116,51,95,95,49,55,110,117,109,95,112,117,116,73,99,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,0,0,0,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,112,117,116,73,99,69,69,0,0,0,78,83,116,51,95,95,49,49,52,95,95,110,117,109,95,112,117,116,95,98,97,115,101,69,0,0,0,0,0,0,0,0,32,100,0,0,232,78,0,0,248,101,0,0,208,78,0,0,0,0,0,0,1,0,0,0,8,79,0,0,0,0,0,0,248,101,0,0,136,78,0,0,0,0,0,0,2,0,0,0,224,68,0,0,2,0,0,0,16,79,0,0,0,0,0,0,78,83,116,51,95,95,49,55,110,117,109,95,112,117,116,73,119,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,0,0,0,0,78,83,116,51,95,95,49,57,95,95,110,117,109,95,112,117,116,73,119,69,69,0,0,0,248,101,0,0,144,79,0,0,0,0,0,0,1,0,0,0,8,79,0,0,0,0,0,0,248,101,0,0,72,79,0,0,0,0,0,0,2,0,0,0,224,68,0,0,2,0,0,0,168,79,0,0,0,0,0,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,103,101,116,73,99,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,0,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,103,101,116,73,99,69,69,0,0,0,0,0,0,0,0,32,100,0,0,40,80,0,0,248,101,0,0,224,79,0,0,0,0,0,0,2,0,0,0,224,68,0,0,2,0,0,0,72,80,0,0,0,0,0,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,103,101,116,73,119,78,83,95,49,57,105,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,0,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,103,101,116,73,119,69,69,0,0,0,0,0,0,0,0,32,100,0,0,184,80,0,0,248,101,0,0,112,80,0,0,0,0,0,0,2,0,0,0,224,68,0,0,2,0,0,0,216,80,0,0,0,0,0,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,112,117,116,73,99,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,99,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,99,69,69,69,69,69,69,0,0,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,112,117,116,73,99,69,69,0,0,0,0,0,0,0,0,32,100,0,0,72,81,0,0,248,101,0,0,0,81,0,0,0,0,0,0,2,0,0,0,224,68,0,0,2,0,0,0,104,81,0,0,0,0,0,0,78,83,116,51,95,95,49,57,109,111,110,101,121,95,112,117,116,73,119,78,83,95,49,57,111,115,116,114,101,97,109,98,117,102,95,105,116,101,114,97,116,111,114,73,119,78,83,95,49,49,99,104,97,114,95,116,114,97,105,116,115,73,119,69,69,69,69,69,69,0,0,0,78,83,116,51,95,95,49,49,49,95,95,109,111,110,101,121,95,112,117,116,73,119,69,69,0,0,0,0,0,0,0,0,32,100,0,0,216,81,0,0,248,101,0,0,144,81,0,0,0,0,0,0,2,0,0,0,224,68,0,0,2,0,0,0,248,81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,77,0,0,0,0,0,0,0,0,0,0,0,80,0,0,0,77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,77,0,0,0,0,0,0,80,77,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,0,0,0,97,0,0,0,110,0,0,0,117,0,0,0,97,0,0,0,114,0,0,0,121,0,0,0,0,0,0,0,70,0,0,0,101,0,0,0,98,0,0,0,114,0,0,0,117,0,0,0,97,0,0,0,114,0,0,0,121,0,0,0,0,0,0,0,0,0,0,0,77,0,0,0,97,0,0,0,114,0,0,0,99,0,0,0,104,0,0,0,0,0,0,0,65,0,0,0,112,0,0,0,114,0,0,0,105,0,0,0,108,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,110,0,0,0,101,0,0,0,0,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,108,0,0,0,121,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,117,0,0,0,103,0,0,0,117,0,0,0,115,0,0,0,116,0,0,0,0,0,0,0,0,0,0,0,83,0,0,0,101,0,0,0,112,0,0,0,116,0,0,0,101,0,0,0,109,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,79,0,0,0,99,0,0,0,116,0,0,0,111,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,78,0,0,0,111,0,0,0,118,0,0,0,101,0,0,0,109,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,0,0,0,0,68,0,0,0,101,0,0,0,99,0,0,0,101,0,0,0,109,0,0,0,98,0,0,0,101,0,0,0,114,0,0,0,0,0,0,0,0,0,0,0,74,0,0,0,97,0,0,0,110,0,0,0,0,0,0,0,70,0,0,0,101,0,0,0,98,0,0,0,0,0,0,0,77,0,0,0,97,0,0,0,114,0,0,0,0,0,0,0,65,0,0,0,112,0,0,0,114,0,0,0,0,0,0,0,77,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,110,0,0,0,0,0,0,0,74,0,0,0,117,0,0,0,108,0,0,0,0,0,0,0,65,0,0,0,117,0,0,0,103,0,0,0,0,0,0,0,83,0,0,0,101,0,0,0,112,0,0,0,0,0,0,0,79,0,0,0,99,0,0,0,116,0,0,0,0,0,0,0,78,0,0,0,111,0,0,0,118,0,0,0,0,0,0,0,68,0,0,0,101,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,97,110,117,97,114,121,0,70,101,98,114,117,97,114,121,0,0,0,0,0,0,0,0,77,97,114,99,104,0,0,0,65,112,114,105,108,0,0,0,77,97,121,0,0,0,0,0,74,117,110,101,0,0,0,0,74,117,108,121,0,0,0,0,65,117,103,117,115,116,0,0,83,101,112,116,101,109,98,101,114,0,0,0,0,0,0,0,79,99,116,111,98,101,114,0,78,111,118,101,109,98,101,114,0,0,0,0,0,0,0,0,68,101,99,101,109,98,101,114,0,0,0,0,0,0,0,0,74,97,110,0,0,0,0,0,70,101,98,0,0,0,0,0,77,97,114,0,0,0,0,0,65,112,114,0,0,0,0,0,74,117,110,0,0,0,0,0,74,117,108,0,0,0,0,0,65,117,103,0,0,0,0,0,83,101,112],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+13213);allocate([79,99,116,0,0,0,0,0,78,111,118,0,0,0,0,0,68,101,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,0,0,0,117,0,0,0,110,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,0,0,0,0,77,0,0,0,111,0,0,0,110,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,0,0,0,0,84,0,0,0,117,0,0,0,101,0,0,0,115,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,87,0,0,0,101,0,0,0,100,0,0,0,110,0,0,0,101,0,0,0,115,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,84,0,0,0,104,0,0,0,117,0,0,0,114,0,0,0,115,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,0,0,0,0,70,0,0,0,114,0,0,0,105,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,0,0,0,0,83,0,0,0,97,0,0,0,116,0,0,0,117,0,0,0,114,0,0,0,100,0,0,0,97,0,0,0,121,0,0,0,0,0,0,0,0,0,0,0,83,0,0,0,117,0,0,0,110,0,0,0,0,0,0,0,77,0,0,0,111,0,0,0,110,0,0,0,0,0,0,0,84,0,0,0,117,0,0,0,101,0,0,0,0,0,0,0,87,0,0,0,101,0,0,0,100,0,0,0,0,0,0,0,84,0,0,0,104,0,0,0,117,0,0,0,0,0,0,0,70,0,0,0,114,0,0,0,105,0,0,0,0,0,0,0,83,0,0,0,97,0,0,0,116,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,117,110,100,97,121,0,0,77,111,110,100,97,121,0,0,84,117,101,115,100,97,121,0,87,101,100,110,101,115,100,97,121,0,0,0,0,0,0,0,84,104,117,114,115,100,97,121,0,0,0,0,0,0,0,0,70,114,105,100,97,121,0,0,83,97,116,117,114,100,97,121,0,0,0,0,0,0,0,0,83,117,110,0,0,0,0,0,77,111,110,0,0,0,0,0,84,117,101,0,0,0,0,0,87,101,100,0,0,0,0,0,84,104,117,0,0,0,0,0,70,114,105,0,0,0,0,0,83,97,116,0,0,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,0,0,0,0,0,0,0,117,110,99,97,117,103,104,116,0,0,0,0,0,0,0,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,101,120,99,101,112,116,105,111,110,32,111,102,32,116,121,112,101,32,37,115,58,32,37,115,0,0,0,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,101,120,99,101,112,116,105,111,110,32,111,102,32,116,121,112,101,32,37,115,0,0,0,0,0,0,0,0,116,101,114,109,105,110,97,116,105,110,103,32,119,105,116,104,32,37,115,32,102,111,114,101,105,103,110,32,101,120,99,101,112,116,105,111,110,0,0,0,116,101,114,109,105,110,97,116,105,110,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,116,104,114,101,97,100,95,111,110,99,101,32,102,97,105,108,117,114,101,32,105,110,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,95,102,97,115,116,40,41,0,0,0,0,0,0,0,0,99,97,110,110,111,116,32,99,114,101,97,116,101,32,112,116,104,114,101,97,100,32,107,101,121,32,102,111,114,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,40,41,0,0,0,0,0,0,0,99,97,110,110,111,116,32,122,101,114,111,32,111,117,116,32,116,104,114,101,97,100,32,118,97,108,117,101,32,102,111,114,32,95,95,99,120,97,95,103,101,116,95,103,108,111,98,97,108,115,40,41,0,0,0,0,0,0,0,0,144,97,0,0,117,0,0,0,118,0,0,0,82,0,0,0,0,0,0,0,115,116,100,58,58,98,97,100,95,97,108,108,111,99,0,0,83,116,57,98,97,100,95,97,108,108,111,99,0,0,0,0,152,101,0,0,128,97,0,0,24,98,0,0,0,0,0,0,116,101,114,109,105,110,97,116,101,95,104,97,110,100,108,101,114,32,117,110,101,120,112,101,99,116,101,100,108,121,32,114,101,116,117,114,110,101,100,0,116,101,114,109,105,110,97,116,101,95,104,97,110,100,108,101,114,32,117,110,101,120,112,101,99,116,101,100,108,121,32,116,104,114,101,119,32,97,110,32,101,120,99,101,112,116,105,111,110,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,116,57,101,120,99,101,112,116,105,111,110,0,0,0,0,32,100,0,0,8,98,0,0,0,0,0,0,96,98,0,0,119,0,0,0,120,0,0,0,83,0,0,0,0,0,0,0,0,0,0,0,200,98,0,0,121,0,0,0,122,0,0,0,36,0,0,0,0,0,0,0,83,116,49,49,108,111,103,105,99,95,101,114,114,111,114,0,152,101,0,0,80,98,0,0,24,98,0,0,0,0,0,0,0,0,0,0,160,98,0,0,119,0,0,0,123,0,0,0,83,0,0,0,0,0,0,0,83,116,49,50,108,101,110,103,116,104,95,101,114,114,111,114,0,0,0,0,0,0,0,0,152,101,0,0,136,98,0,0,96,98,0,0,0,0,0,0,83,116,49,51,114,117,110,116,105,109,101,95,101,114,114,111,114,0,0,0,0,0,0,0,152,101,0,0,176,98,0,0,24,98,0,0,0,0,0,0,0,0,0,0,40,99,0,0,124,0,0,0,125,0,0,0,84,0,0,0,0,0,0,0,115,116,100,58,58,98,97,100,95,99,97,115,116,0,0,0,83,116,57,116,121,112,101,95,105,110,102,111,0,0,0,0,32,100,0,0,0,99,0,0,83,116,56,98,97,100,95,99,97,115,116,0,0,0,0,0,152,101,0,0,24,99,0,0,24,98,0,0,0,0,0,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,54,95,95,115,104,105,109,95,116,121,112,101,95,105,110,102,111,69,0,0,0,0,0,0,0,0,152,101,0,0,56,99,0,0,16,99,0,0,0,0,0,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,0,0,0,0,0,0,152,101,0,0,112,99,0,0,96,99,0,0,0,0,0,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,57,95,95,112,111,105,110,116,101,114,95,116,121,112,101,95,105,110,102,111,69,0,0,0,0,0,78,49,48,95,95,99,120,120,97,98,105,118,49,49,55,95,95,112,98,97,115,101,95,116,121,112,101,95,105,110,102,111,69,0,0,0,0,0,0,0,152,101,0,0,208,99,0,0,96,99,0,0,0,0,0,0,152,101,0,0,168,99,0,0,248,99,0,0,0,0,0,0,0,0,0,0,152,99,0,0,126,0,0,0,127,0,0,0,128,0,0,0,129,0,0,0,43,0,0,0,34,0,0,0,22,0,0,0,26,0,0,0,0,0,0,0,8,100,0,0,126,0,0,0,130,0,0,0,128,0,0,0,129,0,0,0,44,0,0,0,0,0,0,0,0,0,0,0,168,100,0,0,126,0,0,0,131,0,0,0,128,0,0,0,129,0,0,0,45,0,0,0,0,0,0,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,51,95,95,102,117,110,100,97,109,101,110,116,97,108,95,116,121,112,101,95,105,110,102,111,69,0,152,101,0,0,128,100,0,0,96,99,0,0,0,0,0,0,118,0,0,0,0,0,0,0,104,100,0,0,184,100,0,0,68,110,0,0,0,0,0,0,104,100,0,0,200,100,0,0,98,0,0,0,0,0,0,0,104,100,0,0,216,100,0,0,99,0,0,0,0,0,0,0,104,100,0,0,232,100,0,0,104,0,0,0,0,0,0,0,104,100,0,0,248,100,0,0,97,0,0,0,0,0,0,0,104,100,0,0,8,101,0,0,115,0,0,0,0,0,0,0,104,100,0,0,24,101,0,0,116,0,0,0,0,0,0,0,104,100,0,0,40,101,0,0,105,0,0,0,0,0,0,0,104,100,0,0,56,101,0,0,106,0,0,0,0,0,0,0,104,100,0,0,72,101,0,0,104,100,0,0,72,60,0,0,109,0,0,0,0,0,0,0,104,100,0,0,96,101,0,0,102,0,0,0,0,0,0,0,104,100,0,0,112,101,0,0,100,0,0,0,0,0,0,0,104,100,0,0,128,101,0,0,0,0,0,0,224,101,0,0,126,0,0,0,132,0,0,0,128,0,0,0,129,0,0,0,43,0,0,0,35,0,0,0,23,0,0,0,27,0,0,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,48,95,95,115,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,0,0,0,152,101,0,0,184,101,0,0,152,99,0,0,0,0,0,0,0,0,0,0,64,102,0,0,126,0,0,0,133,0,0,0,128,0,0,0,129,0,0,0,43,0,0,0,36,0,0,0,24,0,0,0,28,0,0,0,78,49,48,95,95,99,120,120,97,98,105,118,49,50,49,95,95,118,109,105,95,99,108,97,115,115,95,116,121,112,101,95,105,110,102,111,69,0,0,0,152,101,0,0,24,102,0,0,152,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,1,2,3,4,5,6,7,8,9,255,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,1,2,4,7,3,6,5,0,0,0,0,0,0,0,0,105,110,102,105,110,105,116,121,0,0,0,0,0,0,0,0,95,112,137,0,255,9,47,15,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,17,0,10,0,17,17,17,0,0,0,0,5,0,0,0,0,0,0,9,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,15,10,17,17,17,3,10,7,0,1,19,9,11,11,0,0,9,6,11,0,0,11,0,6,17,0,0,0,17,17,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,17,0,10,10,17,17,17,0,10,0,0,2,0,9,11,0,0,0,9,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,4,13,0,0,0,0,9,14,0,0,0,0,0,14,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,15,0,0,0,0,9,16,0,0,0,0,0,16,0,0,16,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,18,18,18,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,10,0,0,0,0,9,11,0,0,0,0,0,11,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,12,0,0,0,0,9,12,0,0,0,0,0,12,0,0,12,0,0,45,43,32,32,32,48,88,48,120,0,0,0,0,0,0,0,40,110,117,108,108,41,0,0,45,48,88,43,48,88,32,48,88,45,48,120,43,48,120,32,48,120,0,0,0,0,0,0,105,110,102,0,0,0,0,0,73,78,70,0,0,0,0,0,110,97,110,0,0,0,0,0,78,65,78,0,0,0,0,0,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,46,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+23456);var tempDoublePtr=Runtime.alignMemory(allocate(12,"i8",ALLOC_STATIC),8);assert(tempDoublePtr%8==0);function copyTempFloat(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3]}function copyTempDouble(ptr){HEAP8[tempDoublePtr]=HEAP8[ptr];HEAP8[tempDoublePtr+1]=HEAP8[ptr+1];HEAP8[tempDoublePtr+2]=HEAP8[ptr+2];HEAP8[tempDoublePtr+3]=HEAP8[ptr+3];HEAP8[tempDoublePtr+4]=HEAP8[ptr+4];HEAP8[tempDoublePtr+5]=HEAP8[ptr+5];HEAP8[tempDoublePtr+6]=HEAP8[ptr+6];HEAP8[tempDoublePtr+7]=HEAP8[ptr+7]}function _atexit(func,arg){__ATEXIT__.unshift({func:func,arg:arg})}function ___cxa_atexit(){return _atexit.apply(null,arguments)}var registeredTypes={};function _free(){}Module["_free"]=_free;function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(HEAPU8[c]){ret+=embind_charCodes[HEAPU8[c++]]}return ret}function getTypeName(type){var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv}var char_0=48;var char_9=57;function makeLegalFunctionName(name){Iif(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);Iif(f>=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return(new Function("body","return function "+name+"() {\n"+' "use strict";'+" return body.apply(this, arguments);\n"+"};\n"))(body)}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,(function(message){this.name=errorName;this.message=message;var stack=(new Error(message)).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}}));errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=(function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}});return errorClass}var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+" has unknown type "+getTypeName(rawType))}return impl}function __emval_lookupTypes(argCount,argTypes,argWireTypes){var a=new Array(argCount);for(var i=0;i<argCount;++i){a[i]=requireRegisteredType(HEAP32[(argTypes>>2)+i],"parameter "+i)}return a}var emval_free_list=[];var emval_handle_array=[{}];function count_emval_handles(){var count=0;for(var i=1;i<emval_handle_array.length;++i){if(emval_handle_array[i]!==undefined){++count}}return count}function get_first_emval(){for(var i=1;i<emval_handle_array.length;++i){if(emval_handle_array[i]!==undefined){return emval_handle_array[i]}}return null}function init_emval(){Module["count_emval_handles"]=count_emval_handles;Module["get_first_emval"]=get_first_emval}function __emval_register(value){var handle=emval_free_list.length?emval_free_list.pop():emval_handle_array.length;emval_handle_array[handle]={refcount:1,value:value};return handle}function requireHandle(handle){if(!handle){throwBindingError("Cannot use deleted val. handle = "+handle)}return emval_handle_array[handle].value}function __emval_call(handle,argCount,argTypes,argv){handle=requireHandle(handle);var types=__emval_lookupTypes(argCount,argTypes);var args=new Array(argCount);for(var i=0;i<argCount;++i){var type=types[i];args[i]=type["readValueFromPointer"](argv);argv+=type.argPackAdvance}var rv=handle.apply(undefined,args);return __emval_register(rv)}Module["_i64Subtract"]=_i64Subtract;Module["_i64Add"]=_i64Add;function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}var EXCEPTIONS={last:0,caught:[],infos:{},deAdjust:(function(adjusted){if(!adjusted||EXCEPTIONS.infos[adjusted])return adjusted;for(var ptr in EXCEPTIONS.infos){var info=EXCEPTIONS.infos[ptr];if(info.adjusted===adjusted){return ptr}}return adjusted}),addRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount++}),decRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];assert(info.refcount>0);info.refcount--;if(info.refcount===0){if(info.destructor){Runtime.dynCall("vi",info.destructor,[ptr])}delete EXCEPTIONS.infos[ptr];___cxa_free_exception(ptr)}}),clearRef:(function(ptr){if(!ptr)return;var info=EXCEPTIONS.infos[ptr];info.refcount=0})};function ___resumeException(ptr){if(!EXCEPTIONS.last){EXCEPTIONS.last=ptr}EXCEPTIONS.clearRef(EXCEPTIONS.deAdjust(ptr));throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function ___cxa_find_matching_catch(){var thrown=EXCEPTIONS.last;if(!thrown){return(asm["setTempRet0"](0),0)|0}var info=EXCEPTIONS.infos[thrown];var throwntype=info.type;if(!throwntype){return(asm["setTempRet0"](0),thrown)|0}var typeArray=Array.prototype.slice.call(arguments);var pointer=Module["___cxa_is_pointer_type"](throwntype);if(!___cxa_find_matching_catch.buffer)___cxa_find_matching_catch.buffer=_malloc(4);HEAP32[___cxa_find_matching_catch.buffer>>2]=thrown;thrown=___cxa_find_matching_catch.buffer;for(var i=0;i<typeArray.length;i++){if(typeArray[i]&&Module["___cxa_can_catch"](typeArray[i],throwntype,thrown)){thrown=HEAP32[thrown>>2];info.adjusted=thrown;return(asm["setTempRet0"](typeArray[i]),thrown)|0}}thrown=HEAP32[thrown>>2];return(asm["setTempRet0"](throwntype),thrown)|0}function ___cxa_throw(ptr,type,destructor){EXCEPTIONS.infos[ptr]={ptr:ptr,adjusted:ptr,type:type,destructor:destructor,refcount:0};EXCEPTIONS.last=ptr;if(!("uncaught_exception"in __ZSt18uncaught_exceptionv)){__ZSt18uncaught_exceptionv.uncaught_exception=1}else{__ZSt18uncaught_exceptionv.uncaught_exception++}throw ptr+" - Exception catching is disabled, this exception cannot be caught. Compile with -s DISABLE_EXCEPTION_CATCHING=0 or DISABLE_EXCEPTION_CATCHING=2 to catch."}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+size)}}var awaitingDependencies={};var typeDependencies={};var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach((function(type){typeDependencies[type]=dependentTypes}));function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);Iif(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i<myTypes.length;++i){registerType(myTypes[i],myTypeConverters[i])}}var typeConverters=new Array(dependentTypes.length);var unregisteredTypes=[];var registered=0;dependentTypes.forEach((function(dt,i){if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push((function(){typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}}))}}));if(0===unregisteredTypes.length){onComplete(typeConverters)}}function registerType(rawType,registeredInstance,options){options=options||{};Iif(!("argPackAdvance"in registeredInstance)){throw new TypeError("registerType registeredInstance requires argPackAdvance")}var name=registeredInstance.name;Iif(!rawType){throwBindingError('type "'+name+'" must have a positive integer typeid pointer')}if(registeredTypes.hasOwnProperty(rawType)){Eif(options.ignoreDuplicateRegistrations){return}else{throwBindingError("Cannot register type '"+name+"' twice")}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach((function(cb){cb()}))}}function __embind_register_bool(rawType,name,size,trueValue,falseValue){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":(function(wt){return!!wt}),"toWireType":(function(destructors,o){return o?trueValue:falseValue}),"argPackAdvance":8,"readValueFromPointer":(function(pointer){var heap;if(size===1){heap=HEAP8}else if(size===2){heap=HEAP16}else if(size===4){heap=HEAP32}else{throw new TypeError("Unknown boolean type size: "+name)}return this["fromWireType"](heap[pointer>>shift])}),destructorFunction:null})}function _pthread_mutex_lock(){}function _malloc(bytes){var ptr=Runtime.dynamicAlloc(bytes+8);return ptr+8&4294967288}Module["_malloc"]=_malloc;function simpleReadValueFromPointer(pointer){return this["fromWireType"](HEAPU32[pointer>>2])}function __embind_register_std_string(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":(function(value){var length=HEAPU32[value>>2];var a=new Array(length);for(var i=0;i<length;++i){a[i]=String.fromCharCode(HEAPU8[value+4+i])}_free(value);return a.join("")}),"toWireType":(function(destructors,value){if(value instanceof ArrayBuffer){value=new Uint8Array(value)}function getTAElement(ta,index){return ta[index]}function getStringElement(string,index){return string.charCodeAt(index)}var getElement;if(value instanceof Uint8Array){getElement=getTAElement}else if(value instanceof Int8Array){getElement=getTAElement}else if(typeof value==="string"){getElement=getStringElement}else{throwBindingError("Cannot pass non-string to std::string")}var length=value.length;var ptr=_malloc(4+length);HEAPU32[ptr>>2]=length;for(var i=0;i<length;++i){var charCode=getElement(value,i);if(charCode>255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}HEAPU8[ptr+4+i]=charCode}if(destructors!==null){destructors.push(_free,ptr)}return ptr}),"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:(function(ptr){_free(ptr)})})}function __embind_register_std_wstring(rawType,charSize,name){name=readLatin1String(name);var HEAP,shift;Iif(charSize===2){HEAP=HEAPU16;shift=1}else Eif(charSize===4){HEAP=HEAPU32;shift=2}registerType(rawType,{name:name,"fromWireType":(function(value){var length=HEAPU32[value>>2];var a=new Array(length);var start=value+4>>shift;for(var i=0;i<length;++i){a[i]=String.fromCharCode(HEAP[start+i])}_free(value);return a.join("")}),"toWireType":(function(destructors,value){var length=value.length;var ptr=_malloc(4+length*charSize);HEAPU32[ptr>>2]=length;var start=ptr+4>>shift;for(var i=0;i<length;++i){HEAP[start+i]=value.charCodeAt(i)}if(destructors!==null){destructors.push(_free,ptr)}return ptr}),"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:(function(ptr){_free(ptr)})})}var FS=undefined;var ___errno_state=0;function ___setErrNo(value){HEAP32[___errno_state>>2]=value;return value}var ERRNO_CODES={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function _fflush(stream){}Module["_strncpy"]=_strncpy;function __emval_decref(handle){if(handle&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}var SOCKFS=undefined;function _send(fd,buf,len,flags){var sock=SOCKFS.getSocket(fd);if(!sock){___setErrNo(ERRNO_CODES.EBADF);return-1}return _write(fd,buf,len)}function _pwrite(fildes,buf,nbyte,offset){var stream=FS.getStream(fildes);if(!stream){___setErrNo(ERRNO_CODES.EBADF);return-1}try{var slab=HEAP8;return FS.write(stream,slab,buf,nbyte,offset)}catch(e){FS.handleFSError(e);return-1}}function _write(fildes,buf,nbyte){var stream=FS.getStream(fildes);if(!stream){___setErrNo(ERRNO_CODES.EBADF);return-1}try{var slab=HEAP8;return FS.write(stream,slab,buf,nbyte)}catch(e){FS.handleFSError(e);return-1}}function _fileno(stream){stream=FS.getStreamFromPtr(stream);if(!stream)return-1;return stream.fd}function _fputc(c,stream){var chr=unSign(c&255);HEAP8[_fputc.ret>>0]=chr;var fd=_fileno(stream);var ret=_write(fd,_fputc.ret,1);if(ret==-1){var streamObj=FS.getStreamFromPtr(stream);if(streamObj)streamObj.error=true;return-1}else{return chr}}function _fwrite(ptr,size,nitems,stream){var bytesToWrite=nitems*size;if(bytesToWrite==0)return 0;var fd=_fileno(stream);var bytesWritten=_write(fd,ptr,bytesToWrite);if(bytesWritten==-1){var streamObj=FS.getStreamFromPtr(stream);if(streamObj)streamObj.error=true;return 0}else{return bytesWritten/size|0}}function __embind_register_emval(rawType,name){name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":(function(handle){var rv=emval_handle_array[handle].value;__emval_decref(handle);return rv}),"toWireType":(function(destructors,value){return __emval_register(value)}),"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:null})}Module["_bitshift64Lshr"]=_bitshift64Lshr;var _BDtoIHigh=true;function _pthread_cond_broadcast(){return 0}var _environ=allocate(1,"i32*",ALLOC_STATIC);var ___environ=_environ;function ___buildEnvironment(env){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;Eif(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C";ENV["_"]=Module["thisProgram"];poolPtr=allocate(TOTAL_ENV_SIZE,"i8",ALLOC_STATIC);envPtr=allocate(MAX_ENV_VALUES*4,"i8*",ALLOC_STATIC);HEAP32[envPtr>>2]=poolPtr;HEAP32[_environ>>2]=envPtr}else{envPtr=HEAP32[_environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in env){Eif(typeof env[key]==="string"){var line=key+"="+env[key];strings.push(line);totalSize+=line.length}}Iif(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i<strings.length;i++){var line=strings[i];writeAsciiToMemory(line,poolPtr);HEAP32[envPtr+i*ptrSize>>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var ENV={};function _getenv(name){if(name===0)return 0;name=Pointer_stringify(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocate(intArrayFromString(ENV[name]),"i8",ALLOC_NORMAL);return _getenv.ret}Module["_strlen"]=_strlen;function __reallyNegative(x){return x<0||x===0&&1/x===-Infinity}function __formatString(format,varargs){var textIndex=format;var argIndex=0;function getNextArg(type){var ret;if(type==="double"){ret=(HEAP32[tempDoublePtr>>2]=HEAP32[varargs+argIndex>>2],HEAP32[tempDoublePtr+4>>2]=HEAP32[varargs+(argIndex+4)>>2],+HEAPF64[tempDoublePtr>>3])}else if(type=="i64"){ret=[HEAP32[varargs+argIndex>>2],HEAP32[varargs+(argIndex+4)>>2]]}else{type="i32";ret=HEAP32[varargs+argIndex>>2]}argIndex+=Runtime.getNativeFieldSize(type);return ret}var ret=[];var curr,next,currArg;while(1){var startTextIndex=textIndex;curr=HEAP8[textIndex>>0];if(curr===0)break;next=HEAP8[textIndex+1>>0];if(curr==37){var flagAlwaysSigned=false;var flagLeftAlign=false;var flagAlternative=false;var flagZeroPad=false;var flagPadSign=false;flagsLoop:while(1){switch(next){case 43:flagAlwaysSigned=true;break;case 45:flagLeftAlign=true;break;case 35:flagAlternative=true;break;case 48:if(flagZeroPad){break flagsLoop}else{flagZeroPad=true;break};case 32:flagPadSign=true;break;default:break flagsLoop}textIndex++;next=HEAP8[textIndex+1>>0]}var width=0;if(next==42){width=getNextArg("i32");textIndex++;next=HEAP8[textIndex+1>>0]}else{while(next>=48&&next<=57){width=width*10+(next-48);textIndex++;next=HEAP8[textIndex+1>>0]}}var precisionSet=false,precision=-1;if(next==46){precision=0;precisionSet=true;textIndex++;next=HEAP8[textIndex+1>>0];if(next==42){precision=getNextArg("i32");textIndex++}else{while(1){var precisionChr=HEAP8[textIndex+1>>0];if(precisionChr<48||precisionChr>57)break;precision=precision*10+(precisionChr-48);textIndex++}}next=HEAP8[textIndex+1>>0]}if(precision<0){precision=6;precisionSet=false}var argSize;switch(String.fromCharCode(next)){case"h":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==104){textIndex++;argSize=1}else{argSize=2}break;case"l":var nextNext=HEAP8[textIndex+2>>0];if(nextNext==108){textIndex++;argSize=8}else{argSize=4}break;case"L":case"q":case"j":argSize=8;break;case"z":case"t":case"I":argSize=4;break;default:argSize=null}if(argSize)textIndex++;next=HEAP8[textIndex+1>>0];switch(String.fromCharCode(next)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":{var signed=next==100||next==105;argSize=argSize||4;var currArg=getNextArg("i"+argSize*8);var origArg=currArg;var argText;if(argSize==8){currArg=Runtime.makeBigInt(currArg[0],currArg[1],next==117)}if(argSize<=4){var limit=Math.pow(256,argSize)-1;currArg=(signed?reSign:unSign)(currArg&limit,argSize*8)}var currAbsArg=Math.abs(currArg);var prefix="";if(next==100||next==105){if(argSize==8&&i64Math)argText=i64Math.stringify(origArg[0],origArg[1],null);else argText=reSign(currArg,8*argSize,1).toString(10)}else if(next==117){if(argSize==8&&i64Math)argText=i64Math.stringify(origArg[0],origArg[1],true);else argText=unSign(currArg,8*argSize,1).toString(10);currArg=Math.abs(currArg)}else if(next==111){argText=(flagAlternative?"0":"")+currAbsArg.toString(8)}else if(next==120||next==88){prefix=flagAlternative&&currArg!=0?"0x":"";if(argSize==8&&i64Math){if(origArg[1]){argText=(origArg[1]>>>0).toString(16);var lower=(origArg[0]>>>0).toString(16);while(lower.length<8)lower="0"+lower;argText+=lower}else{argText=(origArg[0]>>>0).toString(16)}}else if(currArg<0){currArg=-currArg;argText=(currAbsArg-1).toString(16);var buffer=[];for(var i=0;i<argText.length;i++){buffer.push((15-parseInt(argText[i],16)).toString(16))}argText=buffer.join("");while(argText.length<argSize*2)argText="f"+argText}else{argText=currAbsArg.toString(16)}if(next==88){prefix=prefix.toUpperCase();argText=argText.toUpperCase()}}else if(next==112){if(currAbsArg===0){argText="(nil)"}else{prefix="0x";argText=currAbsArg.toString(16)}}if(precisionSet){while(argText.length<precision){argText="0"+argText}}if(currArg>=0){if(flagAlwaysSigned){prefix="+"+prefix}else if(flagPadSign){prefix=" "+prefix}}if(argText.charAt(0)=="-"){prefix="-"+prefix;argText=argText.substr(1)}while(prefix.length+argText.length<width){if(flagLeftAlign){argText+=" "}else{if(flagZeroPad){argText="0"+argText}else{prefix=" "+prefix}}}argText=prefix+argText;argText.split("").forEach((function(chr){ret.push(chr.charCodeAt(0))}));break};case"f":case"F":case"e":case"E":case"g":case"G":{var currArg=getNextArg("double");var argText;if(isNaN(currArg)){argText="nan";flagZeroPad=false}else if(!isFinite(currArg)){argText=(currArg<0?"-":"")+"inf";flagZeroPad=false}else{var isGeneral=false;var effectivePrecision=Math.min(precision,20);if(next==103||next==71){isGeneral=true;precision=precision||1;var exponent=parseInt(currArg.toExponential(effectivePrecision).split("e")[1],10);if(precision>exponent&&exponent>=-4){next=(next==103?"f":"F").charCodeAt(0);precision-=exponent+1}else{next=(next==103?"e":"E").charCodeAt(0);precision--}effectivePrecision=Math.min(precision,20)}if(next==101||next==69){argText=currArg.toExponential(effectivePrecision);if(/[eE][-+]\d$/.test(argText)){argText=argText.slice(0,-1)+"0"+argText.slice(-1)}}else if(next==102||next==70){argText=currArg.toFixed(effectivePrecision);if(currArg===0&&__reallyNegative(currArg)){argText="-"+argText}}var parts=argText.split("e");if(isGeneral&&!flagAlternative){while(parts[0].length>1&&parts[0].indexOf(".")!=-1&&(parts[0].slice(-1)=="0"||parts[0].slice(-1)==".")){parts[0]=parts[0].slice(0,-1)}}else{if(flagAlternative&&argText.indexOf(".")==-1)parts[0]+=".";while(precision>effectivePrecision++)parts[0]+="0"}argText=parts[0]+(parts.length>1?"e"+parts[1]:"");if(next==69)argText=argText.toUpperCase();if(currArg>=0){if(flagAlwaysSigned){argText="+"+argText}else if(flagPadSign){argText=" "+argText}}}while(argText.length<width){if(flagLeftAlign){argText+=" "}else{if(flagZeroPad&&(argText[0]=="-"||argText[0]=="+")){argText=argText[0]+"0"+argText.slice(1)}else{argText=(flagZeroPad?"0":" ")+argText}}}if(next<97)argText=argText.toUpperCase();argText.split("").forEach((function(chr){ret.push(chr.charCodeAt(0))}));break};case"s":{var arg=getNextArg("i8*");var argLength=arg?_strlen(arg):"(null)".length;if(precisionSet)argLength=Math.min(argLength,precision);if(!flagLeftAlign){while(argLength<width--){ret.push(32)}}if(arg){for(var i=0;i<argLength;i++){ret.push(HEAPU8[arg++>>0])}}else{ret=ret.concat(intArrayFromString("(null)".substr(0,argLength),true))}if(flagLeftAlign){while(argLength<width--){ret.push(32)}}break};case"c":{if(flagLeftAlign)ret.push(getNextArg("i8"));while(--width>0){ret.push(32)}if(!flagLeftAlign)ret.push(getNextArg("i8"));break};case"n":{var ptr=getNextArg("i32*");HEAP32[ptr>>2]=ret.length;break};case"%":{ret.push(curr);break};default:{for(var i=startTextIndex;i<textIndex+2;i++){ret.push(HEAP8[i>>0])}}}textIndex+=2}else{ret.push(curr);textIndex+=1}}return ret}function _fprintf(stream,format,varargs){var result=__formatString(format,varargs);var stack=Runtime.stackSave();var ret=_fwrite(allocate(result,"i8",ALLOC_STACK),1,result.length,stream);Runtime.stackRestore(stack);return ret}function _vfprintf(s,f,va_arg){return _fprintf(s,f,HEAP32[va_arg>>2])}function _pthread_mutex_unlock(){}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest);return dest}Module["_memcpy"]=_memcpy;function _sbrk(bytes){var self=_sbrk;if(!self.called){DYNAMICTOP=alignMemoryPage(DYNAMICTOP);self.called=true;assert(Runtime.dynamicAlloc);self.alloc=Runtime.dynamicAlloc;Runtime.dynamicAlloc=(function(){abort("cannot dynamically allocate, sbrk now has control")})}var ret=DYNAMICTOP;if(bytes!=0)self.alloc(bytes);return ret}Module["_bitshift64Shl"]=_bitshift64Shl;var LOCALE={curr:0,check:(function(locale){Eif(locale)locale=Pointer_stringify(locale);return locale==="C"||locale==="POSIX"||!locale})};function _calloc(n,s){var ret=_malloc(n*s);_memset(ret,0,n*s);return ret}Module["_calloc"]=_calloc;function _newlocale(mask,locale,base){Iif(!LOCALE.check(locale)){___setErrNo(ERRNO_CODES.ENOENT);return 0}Eif(!base)base=_calloc(1,4);return base}Module["_memmove"]=_memmove;function ___errno_location(){return ___errno_state}var _BItoD=true;function _catclose(catd){return 0}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=HEAPU32;var size=heap[handle];var data=heap[handle+1];return new TA(heap["buffer"],data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function ___cxa_guard_release(){}function _ungetc(c,stream){stream=FS.getStreamFromPtr(stream);if(!stream){return-1}if(c===-1){return c}c=unSign(c&255);stream.ungotten.push(c);stream.eof=false;return c}function _uselocale(locale){var old=LOCALE.curr;Eif(locale)LOCALE.curr=locale;return old}function __emval_incref(handle){if(handle){emval_handle_array[handle].refcount+=1}}function _sysconf(name){switch(name){case 30:return PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 79:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:{if(typeof navigator==="object")return navigator["hardwareConcurrency"]||1;return 1}}___setErrNo(ERRNO_CODES.EINVAL);return-1}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":(function(){return undefined}),"toWireType":(function(destructors,o){return undefined})})}Module["_memset"]=_memset;var _BDtoILow=true;var ERRNO_MESSAGES={0:"Success",1:"Not super-user",2:"No such file or directory",3:"No such process",4:"Interrupted system call",5:"I/O error",6:"No such device or address",7:"Arg list too long",8:"Exec format error",9:"Bad file number",10:"No children",11:"No more processes",12:"Not enough core",13:"Permission denied",14:"Bad address",15:"Block device required",16:"Mount device busy",17:"File exists",18:"Cross-device link",19:"No such device",20:"Not a directory",21:"Is a directory",22:"Invalid argument",23:"Too many open files in system",24:"Too many open files",25:"Not a typewriter",26:"Text file busy",27:"File too large",28:"No space left on device",29:"Illegal seek",30:"Read only file system",31:"Too many links",32:"Broken pipe",33:"Math arg out of domain of func",34:"Math result not representable",35:"File locking deadlock error",36:"File or path name too long",37:"No record locks available",38:"Function not implemented",39:"Directory not empty",40:"Too many symbolic links",42:"No message of desired type",43:"Identifier removed",44:"Channel number out of range",45:"Level 2 not synchronized",46:"Level 3 halted",47:"Level 3 reset",48:"Link number out of range",49:"Protocol driver not attached",50:"No CSI structure available",51:"Level 2 halted",52:"Invalid exchange",53:"Invalid request descriptor",54:"Exchange full",55:"No anode",56:"Invalid request code",57:"Invalid slot",59:"Bad font file fmt",60:"Device not a stream",61:"No data (for no delay io)",62:"Timer expired",63:"Out of streams resources",64:"Machine is not on the network",65:"Package not installed",66:"The object is remote",67:"The link has been severed",68:"Advertise error",69:"Srmount error",70:"Communication error on send",71:"Protocol error",72:"Multihop attempted",73:"Cross mount point (not really error)",74:"Trying to read unreadable message",75:"Value too large for defined data type",76:"Given log. name not unique",77:"f.d. invalid for this operation",78:"Remote address changed",79:"Can access a needed shared lib",80:"Accessing a corrupted shared lib",81:".lib section in a.out corrupted",82:"Attempting to link in too many libs",83:"Attempting to exec a shared library",84:"Illegal byte sequence",86:"Streams pipe error",87:"Too many users",88:"Socket operation on non-socket",89:"Destination address required",90:"Message too long",91:"Protocol wrong type for socket",92:"Protocol not available",93:"Unknown protocol",94:"Socket type not supported",95:"Not supported",96:"Protocol family not supported",97:"Address family not supported by protocol family",98:"Address already in use",99:"Address not available",100:"Network interface is not configured",101:"Network is unreachable",102:"Connection reset by network",103:"Connection aborted",104:"Connection reset by peer",105:"No buffer space available",106:"Socket is already connected",107:"Socket is not connected",108:"Can't send after socket shutdown",109:"Too many references",110:"Connection timed out",111:"Connection refused",112:"Host is down",113:"Host is unreachable",114:"Socket already connected",115:"Connection already in progress",116:"Stale file handle",122:"Quota exceeded",123:"No medium (in tape drive)",125:"Operation canceled",130:"Previous owner died",131:"State not recoverable"};function _strerror_r(errnum,strerrbuf,buflen){if(errnum in ERRNO_MESSAGES){if(ERRNO_MESSAGES[errnum].length>buflen-1){return ___setErrNo(ERRNO_CODES.ERANGE)}else{var msg=ERRNO_MESSAGES[errnum];writeAsciiToMemory(msg,strerrbuf);return 0}}else{return ___setErrNo(ERRNO_CODES.EINVAL)}}function _strerror(errnum){if(!_strerror.buffer)_strerror.buffer=_malloc(256);_strerror_r(errnum,_strerror.buffer,256);return _strerror.buffer}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]);return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=HEAP32[tm+40>>2];var date={tm_sec:HEAP32[tm>>2],tm_min:HEAP32[tm+4>>2],tm_hour:HEAP32[tm+8>>2],tm_mday:HEAP32[tm+12>>2],tm_mon:HEAP32[tm+16>>2],tm_year:HEAP32[tm+20>>2],tm_wday:HEAP32[tm+24>>2],tm_yday:HEAP32[tm+28>>2],tm_isdst:HEAP32[tm+32>>2],tm_gmtoff:HEAP32[tm+36>>2],tm_zone:tm_zone?Pointer_stringify(tm_zone):""};var pattern=Pointer_stringify(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value==="number"?value.toString():value||"";while(str.length<digits){str=character[0]+str}return str}function leadingNulls(value,digits){return leadingSomething(value,digits,"0")}function compareByDay(date1,date2){function sgn(value){return value<0?-1:value>0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}else{return thisDate.getFullYear()}}else{return thisDate.getFullYear()-1}}var EXPANSION_RULES_2={"%a":(function(date){return WEEKDAYS[date.tm_wday].substring(0,3)}),"%A":(function(date){return WEEKDAYS[date.tm_wday]}),"%b":(function(date){return MONTHS[date.tm_mon].substring(0,3)}),"%B":(function(date){return MONTHS[date.tm_mon]}),"%C":(function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)}),"%d":(function(date){return leadingNulls(date.tm_mday,2)}),"%e":(function(date){return leadingSomething(date.tm_mday,2," ")}),"%g":(function(date){return getWeekBasedYear(date).toString().substring(2)}),"%G":(function(date){return getWeekBasedYear(date)}),"%H":(function(date){return leadingNulls(date.tm_hour,2)}),"%I":(function(date){return leadingNulls(date.tm_hour<13?date.tm_hour:date.tm_hour-12,2)}),"%j":(function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)}),"%m":(function(date){return leadingNulls(date.tm_mon+1,2)}),"%M":(function(date){return leadingNulls(date.tm_min,2)}),"%n":(function(){return"\n"}),"%p":(function(date){if(date.tm_hour>0&&date.tm_hour<13){return"AM"}else{return"PM"}}),"%S":(function(date){return leadingNulls(date.tm_sec,2)}),"%t":(function(){return"\t"}),"%u":(function(date){var day=new Date(date.tm_year+1900,date.tm_mon+1,date.tm_mday,0,0,0,0);return day.getDay()||7}),"%U":(function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?"01":"00"}),"%V":(function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return"53"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return"01"}var daysDifference;if(firstWeekStartThisYear.getFullYear()<date.tm_year+1900){daysDifference=date.tm_yday+32-firstWeekStartThisYear.getDate()}else{daysDifference=date.tm_yday+1-firstWeekStartThisYear.getDate()}return leadingNulls(Math.ceil(daysDifference/7),2)}),"%w":(function(date){var day=new Date(date.tm_year+1900,date.tm_mon+1,date.tm_mday,0,0,0,0);return day.getDay()}),"%W":(function(date){var janFirst=new Date(date.tm_year,0,1);var firstMonday=janFirst.getDay()===1?janFirst:__addDays(janFirst,janFirst.getDay()===0?1:7-janFirst.getDay()+1);var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstMonday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstMondayUntilEndJanuary=31-firstMonday.getDate();var days=firstMondayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstMonday,janFirst)===0?"01":"00"}),"%y":(function(date){return(date.tm_year+1900).toString().substring(2)}),"%Y":(function(date){return date.tm_year+1900}),"%z":(function(date){var off=date.tm_gmtoff;var ahead=off>=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)}),"%Z":(function(date){return date.tm_zone}),"%%":(function(){return"%"})};for(var rule in EXPANSION_RULES_2){if(pattern.indexOf(rule)>=0){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm){return _strftime(s,maxsize,format,tm)}function _abort(){Module["abort"]()}function requireFunction(signature,rawFunction){signature=readLatin1String(signature);var fp;Eif(typeof FUNCTION_TABLE==="undefined"){var dc=asm["dynCall_"+signature];Iif(dc===undefined){dc=asm["dynCall_"+signature.replace(/f/g,"d")];if(dc===undefined){throwBindingError("No dynCall invoker for signature: "+signature)}}fp=dc.bind(undefined,rawFunction)}else{fp=FUNCTION_TABLE[rawFunction]}Iif(typeof fp!=="function"){throwBindingError("unknown function pointer with signature "+signature+": "+rawFunction)}return fp}function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}var UnboundTypeError=undefined;function throwUnboundTypeError(message,types){var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(message+": "+unboundTypes.map(getTypeName).join([", "]))}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError("Expected null or instance of "+desiredClass.name+", got an instance of "+ptrClass.name)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function validateThis(this_,classType,humanName){if(!(this_ instanceof Object)){throwBindingError(humanName+' with invalid "this": '+this_)}if(!(this_ instanceof classType.registeredClass.constructor)){throwBindingError(humanName+' incompatible with "this" of type '+this_.constructor.name)}if(!this_.$$.ptr){throwBindingError("cannot call emscripten binding method "+humanName+" on deleted object")}return upcastPointer(this_.$$.ptr,this_.$$.ptrType.registeredClass,classType.registeredClass)}function __embind_register_class_property(classType,fieldName,getterReturnType,getterSignature,getter,getterContext,setterArgumentType,setterSignature,setter,setterContext){fieldName=readLatin1String(fieldName);getter=requireFunction(getterSignature,getter);whenDependentTypesAreResolved([],[classType],(function(classType){classType=classType[0];var humanName=classType.name+"."+fieldName;var desc={get:(function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])}),enumerable:true,configurable:true};if(setter){desc.set=(function(){throwUnboundTypeError("Cannot access "+humanName+" due to unbound types",[getterReturnType,setterArgumentType])})}else{desc.set=(function(v){throwBindingError(humanName+" is a read-only property")})}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);whenDependentTypesAreResolved([],setter?[getterReturnType,setterArgumentType]:[getterReturnType],(function(types){var getterReturnType=types[0];var desc={get:(function(){var ptr=validateThis(this,classType,humanName+" getter");return getterReturnType["fromWireType"](getter(getterContext,ptr))}),enumerable:true};if(setter){setter=requireFunction(setterSignature,setter);var setterArgumentType=types[1];desc.set=(function(v){var ptr=validateThis(this,classType,humanName+" setter");var destructors=[];setter(setterContext,ptr,setterArgumentType["toWireType"](destructors,v));runDestructors(destructors)})}Object.defineProperty(classType.registeredClass.instancePrototype,fieldName,desc);return[]}));return[]}))}function _pthread_once(ptr,func){if(!_pthread_once.seen)_pthread_once.seen={};if(ptr in _pthread_once.seen)return;Runtime.dynCall("v",func);_pthread_once.seen[ptr]=1}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")}function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}});clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function runDestructor(handle){var $$=handle.$$;if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}this.$$.count.value-=1;var toDelete=0===this.$$.count.value;if(toDelete){runDestructor(this)}if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}var delayFunction=undefined;var deletionQueue=[];function flushPendingDeletes(){while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj["delete"]()}}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype["isAliasOf"]=ClassHandle_isAliasOf;ClassHandle.prototype["clone"]=ClassHandle_clone;ClassHandle.prototype["delete"]=ClassHandle_delete;ClassHandle.prototype["isDeleted"]=ClassHandle_isDeleted;ClassHandle.prototype["deleteLater"]=ClassHandle_deleteLater}function ClassHandle(){}var registeredPointers={};function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=(function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError("Function '"+humanName+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+proto[methodName].overloadTable+")!")}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)});proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){Iif(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError("Cannot register public name '"+name+"' twice")}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError("Cannot register multiple overloads of a function with the same number of arguments ("+numArguments+")!")}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Iif(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}if(this.isSmartPointer){var ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,__emval_register((function(){clonedHandle["delete"]()})));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+handle.$$.ptrType.name+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle["delete"]()}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}function getInheritedInstanceCount(){return Object.keys(registeredInstances).length}function getLiveInheritedInstances(){var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k])}}return rv}function setDelayFunction(fn){delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes)}}function init_embind(){Module["getInheritedInstanceCount"]=getInheritedInstanceCount;Module["getLiveInheritedInstances"]=getLiveInheritedInstances;Module["flushPendingDeletes"]=flushPendingDeletes;Module["setDelayFunction"]=setDelayFunction}var registeredInstances={};function getBasestPointer(class_,ptr){if(ptr===undefined){throwBindingError("ptr should not be undefined")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr}function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}var _throwInternalError=undefined;function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return Object.create(prototype,{$$:{value:record}})}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype["argPackAdvance"]=8;RegisteredPointer.prototype["readValueFromPointer"]=simpleReadValueFromPointer;RegisteredPointer.prototype["deleteObject"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype["fromWireType"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;Eif(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){Iif(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}Iif(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value}}function __embind_register_class(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor){name=readLatin1String(name);getActualType=requireFunction(getActualTypeSignature,getActualType);Iif(upcast){upcast=requireFunction(upcastSignature,upcast)}Iif(downcast){downcast=requireFunction(downcastSignature,downcast)}rawDestructor=requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,(function(){throwUnboundTypeError("Cannot construct "+name+" due to unbound types",[baseClassRawType])}));whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],(function(base){base=base[0];var baseClass;var basePrototype;Iif(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype}else{basePrototype=ClassHandle.prototype}var constructor=createNamedFunction(legalFunctionName,(function(){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError("Use 'new' to construct "+name)}if(undefined===registeredClass.constructor_body){throw new BindingError(name+" has no accessible constructor")}var body=registeredClass.constructor_body[arguments.length];if(undefined===body){throw new BindingError("Tried to invoke ctor of "+name+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(registeredClass.constructor_body).toString()+") parameters instead!")}return body.apply(this,arguments)}));var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+"*",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+" const*",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter]}))}function _pthread_cond_wait(){return 0}var PTHREAD_SPECIFIC={};function _pthread_getspecific(key){return PTHREAD_SPECIFIC[key]||0}var _fabs=Math_abs;function _recv(fd,buf,len,flags){var sock=SOCKFS.getSocket(fd);if(!sock){___setErrNo(ERRNO_CODES.EBADF);return-1}return _read(fd,buf,len)}function _pread(fildes,buf,nbyte,offset){var stream=FS.getStream(fildes);if(!stream){___setErrNo(ERRNO_CODES.EBADF);return-1}try{var slab=HEAP8;return FS.read(stream,slab,buf,nbyte,offset)}catch(e){FS.handleFSError(e);return-1}}function _read(fildes,buf,nbyte){var stream=FS.getStream(fildes);if(!stream){___setErrNo(ERRNO_CODES.EBADF);return-1}try{var slab=HEAP8;return FS.read(stream,slab,buf,nbyte)}catch(e){FS.handleFSError(e);return-1}}function _fread(ptr,size,nitems,stream){var bytesToRead=nitems*size;if(bytesToRead==0){return 0}var bytesRead=0;var streamObj=FS.getStreamFromPtr(stream);if(!streamObj){___setErrNo(ERRNO_CODES.EBADF);return 0}while(streamObj.ungotten.length&&bytesToRead>0){HEAP8[ptr++>>0]=streamObj.ungotten.pop();bytesToRead--;bytesRead++}var err=_read(streamObj.fd,ptr,bytesToRead);if(err==-1){if(streamObj)streamObj.error=true;return 0}bytesRead+=err;if(bytesRead<bytesToRead)streamObj.eof=true;return bytesRead/size|0}function _fgetc(stream){var streamObj=FS.getStreamFromPtr(stream);if(!streamObj)return-1;if(streamObj.eof||streamObj.error)return-1;var ret=_fread(_fgetc.ret,1,1,stream);if(ret==0){return-1}else if(ret==-1){streamObj.error=true;return-1}else{return HEAPU8[_fgetc.ret>>0]}}function _getc(){return _fgetc.apply(null,arguments)}function _embind_repr(v){if(v===null){return"null"}var t=typeof v;if(t==="object"||t==="array"||t==="function"){return v.toString()}else{return""+v}}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return HEAP8[pointer]}:function readU8FromPointer(pointer){return HEAPU8[pointer]};case 1:return signed?function readS16FromPointer(pointer){return HEAP16[pointer>>1]}:function readU16FromPointer(pointer){return HEAPU16[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return HEAP32[pointer>>2]}:function readU32FromPointer(pointer){return HEAPU32[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);registerType(primitiveType,{name:name,"fromWireType":(function(value){return value}),"toWireType":(function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}if(value<minRange||value>maxRange){throw new TypeError('Passing a number "'+_embind_repr(value)+'" from JS side to C/C++ side to an argument of type "'+name+'", which is outside the valid range ['+minRange+", "+maxRange+"]!")}return value|0}),"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function _pthread_setspecific(key,value){if(!(key in PTHREAD_SPECIFIC)){return ERRNO_CODES.EINVAL}PTHREAD_SPECIFIC[key]=value;return 0}function ___ctype_b_loc(){var me=___ctype_b_loc;Eif(!me.ret){var values=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,8195,8194,8194,8194,8194,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,24577,49156,49156,49156,49156,49156,49156,49156,49156,49156,49156,49156,49156,49156,49156,49156,55304,55304,55304,55304,55304,55304,55304,55304,55304,55304,49156,49156,49156,49156,49156,49156,49156,54536,54536,54536,54536,54536,54536,50440,50440,50440,50440,50440,50440,50440,50440,50440,50440,50440,50440,50440,50440,50440,50440,50440,50440,50440,50440,49156,49156,49156,49156,49156,49156,54792,54792,54792,54792,54792,54792,50696,50696,50696,50696,50696,50696,50696,50696,50696,50696,50696,50696,50696,50696,50696,50696,50696,50696,50696,50696,49156,49156,49156,49156,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];var i16size=2;var arr=_malloc(values.length*i16size);for(var i=0;i<values.length;i++){HEAP16[arr+i*i16size>>1]=values[i]}me.ret=allocate([arr+128*i16size],"i16*",ALLOC_NORMAL)}return me.ret}function _freelocale(locale){_free(locale)}function ___cxa_allocate_exception(size){return _malloc(size)}function _fmod(x,y){return x%y}function _fmodl(){return _fmod.apply(null,arguments)}function _catopen(name,oflag){return-1}function _catgets(catd,set_id,msg_id,s){return s}function floatReadValueFromPointer(name,shift){switch(shift){case 2:return(function(pointer){return this["fromWireType"](HEAPF32[pointer>>2])});case 3:return(function(pointer){return this["fromWireType"](HEAPF64[pointer>>3])});default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":(function(value){return value}),"toWireType":(function(destructors,value){if(typeof value!=="number"&&typeof value!=="boolean"){throw new TypeError('Cannot convert "'+_embind_repr(value)+'" to '+this.name)}return value}),"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function _time(ptr){var ret=Date.now()/1e3|0;Iif(ptr){HEAP32[ptr>>2]=ret}return ret}function ___ctype_toupper_loc(){var me=___ctype_toupper_loc;if(!me.ret){var values=[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255];var i32size=4;var arr=_malloc(values.length*i32size);for(var i=0;i<values.length;i++){HEAP32[arr+i*i32size>>2]=values[i]}me.ret=allocate([arr+128*i32size],"i32*",ALLOC_NORMAL)}return me.ret}function ___cxa_guard_acquire(variable){Eif(!HEAP8[variable>>0]){HEAP8[variable>>0]=1;return 1}return 0}function ___ctype_tolower_loc(){var me=___ctype_tolower_loc;if(!me.ret){var values=[128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255];var i32size=4;var arr=_malloc(values.length*i32size);for(var i=0;i<values.length;i++){HEAP32[arr+i*i32size>>2]=values[i]}me.ret=allocate([arr+128*i32size],"i32*",ALLOC_NORMAL)}return me.ret}function ___cxa_begin_catch(ptr){__ZSt18uncaught_exceptionv.uncaught_exception--;EXCEPTIONS.caught.push(ptr);EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(ptr));return ptr}var PTHREAD_SPECIFIC_NEXT_KEY=1;function _pthread_key_create(key,destructor){if(key==0){return ERRNO_CODES.EINVAL}HEAP32[key>>2]=PTHREAD_SPECIFIC_NEXT_KEY;PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0;PTHREAD_SPECIFIC_NEXT_KEY++;return 0}function heap32VectorToArray(count,firstElement){var array=[];for(var i=0;i<count;i++){array.push(HEAP32[(firstElement>>2)+i])}return array}function __embind_register_class_constructor(rawClassType,argCount,rawArgTypesAddr,invokerSignature,invoker,rawConstructor){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);invoker=requireFunction(invokerSignature,invoker);whenDependentTypesAreResolved([],[rawClassType],(function(classType){classType=classType[0];var humanName="constructor "+classType.name;Eif(undefined===classType.registeredClass.constructor_body){classType.registeredClass.constructor_body=[]}Iif(undefined!==classType.registeredClass.constructor_body[argCount-1]){throw new BindingError("Cannot register multiple constructors with identical number of parameters ("+(argCount-1)+") for class '"+classType.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!")}classType.registeredClass.constructor_body[argCount-1]=function unboundTypeHandler(){throwUnboundTypeError("Cannot construct "+classType.name+" due to unbound types",rawArgTypes)};whenDependentTypesAreResolved([],rawArgTypes,(function(argTypes){classType.registeredClass.constructor_body[argCount-1]=function constructor_body(){if(arguments.length!==argCount-1){throwBindingError(humanName+" called with "+arguments.length+" arguments, expected "+(argCount-1))}var destructors=[];var args=new Array(argCount);args[0]=rawConstructor;for(var i=1;i<argCount;++i){args[i]=argTypes[i]["toWireType"](destructors,arguments[i-1])}var ptr=invoker.apply(null,args);runDestructors(destructors);return argTypes[0]["fromWireType"](ptr)};return[]}));return[]}))}function _copysign(a,b){return __reallyNegative(a)===__reallyNegative(b)?a:-a}function _copysignl(){return _copysign.apply(null,arguments)}function __emval_undefined(){return __emval_register(undefined)}function new_(constructor,argumentList){Iif(!(constructor instanceof Function)){throw new TypeError("new_ called with constructor type "+typeof constructor+" which is not a function")}var dummy=createNamedFunction(constructor.name,(function(){}));dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;Iif(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var argsList="";var argsListWired="";for(var i=0;i<argCount-2;++i){argsList+=(i!==0?", ":"")+"arg"+i;argsListWired+=(i!==0?", ":"")+"arg"+i+"Wired"}var invokerFnBody="return function "+makeLegalFunctionName(humanName)+"("+argsList+") {\n"+"if (arguments.length !== "+(argCount-2)+") {\n"+"throwBindingError('function "+humanName+" called with ' + arguments.length + ' arguments, expected "+(argCount-2)+" args!');\n"+"}\n";var needsDestructorStack=false;for(var i=1;i<argTypes.length;++i){Iif(argTypes[i]!==null&&argTypes[i].destructorFunction===undefined){needsDestructorStack=true;break}}Iif(needsDestructorStack){invokerFnBody+="var destructors = [];\n"}var dtorStack=needsDestructorStack?"destructors":"null";var args1=["throwBindingError","invoker","fn","runDestructors","retType","classParam"];var args2=[throwBindingError,cppInvokerFunc,cppTargetFunc,runDestructors,argTypes[0],argTypes[1]];Eif(isClassMethodFunc){invokerFnBody+="var thisWired = classParam.toWireType("+dtorStack+", this);\n"}for(var i=0;i<argCount-2;++i){invokerFnBody+="var arg"+i+"Wired = argType"+i+".toWireType("+dtorStack+", arg"+i+"); // "+argTypes[i+2].name+"\n";args1.push("argType"+i);args2.push(argTypes[i+2])}Eif(isClassMethodFunc){argsListWired="thisWired"+(argsListWired.length>0?", ":"")+argsListWired}var returns=argTypes[0].name!=="void";invokerFnBody+=(returns?"var rv = ":"")+"invoker(fn"+(argsListWired.length>0?", ":"")+argsListWired+");\n";Iif(needsDestructorStack){invokerFnBody+="runDestructors(destructors);\n"}else{for(var i=isClassMethodFunc?1:2;i<argTypes.length;++i){var paramName=i===1?"thisWired":"arg"+(i-2)+"Wired";if(argTypes[i].destructorFunction!==null){invokerFnBody+=paramName+"_dtor("+paramName+"); // "+argTypes[i].name+"\n";args1.push(paramName+"_dtor");args2.push(argTypes[i].destructorFunction)}}}if(returns){invokerFnBody+="return retType.fromWireType(rv);\n"}invokerFnBody+="}\n";args1.push(invokerFnBody);var invokerFunction=new_(Function,args1).apply(null,args2);return invokerFunction}function __embind_register_class_function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual){var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);rawInvoker=requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],(function(classType){classType=classType[0];var humanName=classType.name+"."+methodName;Iif(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError("Cannot call "+humanName+" due to unbound types",rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];Eif(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,(function(argTypes){var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context);Eif(undefined===proto[methodName].overloadTable){proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]}));return[]}))}var ___dso_handle=allocate(1,"i32*",ALLOC_STATIC);var _stderr=allocate(1,"i32*",ALLOC_STATIC);var _stdin=allocate(1,"i32*",ALLOC_STATIC);var _stdout=allocate(1,"i32*",ALLOC_STATIC);embind_init_charCodes();BindingError=Module["BindingError"]=extendError(Error,"BindingError");init_emval();InternalError=Module["InternalError"]=extendError(Error,"InternalError");___errno_state=Runtime.staticAlloc(4);HEAP32[___errno_state>>2]=0;_fputc.ret=allocate([0],"i8",ALLOC_STATIC);___buildEnvironment(ENV);init_ClassHandle();init_RegisteredPointer();init_embind();_fgetc.ret=allocate([0],"i8",ALLOC_STATIC);STACK_BASE=STACKTOP=Runtime.alignMemory(STATICTOP);staticSealed=true;STACK_MAX=STACK_BASE+TOTAL_STACK;DYNAMIC_BASE=DYNAMICTOP=Runtime.alignMemory(STACK_MAX);assert(DYNAMIC_BASE<TOTAL_MEMORY,"TOTAL_MEMORY not big enough for stack");var ctlz_i8=allocate([8,7,6,6,5,5,5,5,4,4,4,4,4,4,4,4,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"i8",ALLOC_DYNAMIC);var cttz_i8=allocate([8,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,7,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,6,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0],"i8",ALLOC_DYNAMIC);var Math_min=Math.min;function invoke_iiii(index,a1,a2,a3){try{return Module["dynCall_iiii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7){try{Module["dynCall_viiiiiii"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiiii(index,a1,a2,a3,a4,a5){try{Module["dynCall_viiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_i(index){try{return Module["dynCall_i"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vi(index,a1){try{Module["dynCall_vi"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_vii(index,a1,a2){try{Module["dynCall_vii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){try{return Module["dynCall_iiiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9){try{Module["dynCall_viiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8,a9)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_ii(index,a1){try{return Module["dynCall_ii"](index,a1)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiiiiid(index,a1,a2,a3,a4,a5,a6,a7){try{Module["dynCall_viiiiiid"](index,a1,a2,a3,a4,a5,a6,a7)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viii(index,a1,a2,a3){try{Module["dynCall_viii"](index,a1,a2,a3)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiiiid(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viiiiid"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_v(index){try{Module["dynCall_v"](index)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8){try{return Module["dynCall_iiiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiii(index,a1,a2,a3,a4){try{return Module["dynCall_iiiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8){try{Module["dynCall_viiiiiiii"](index,a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiiiii(index,a1,a2,a3,a4,a5,a6){try{Module["dynCall_viiiiii"](index,a1,a2,a3,a4,a5,a6)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iii(index,a1,a2){try{return Module["dynCall_iii"](index,a1,a2)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_iiiiii(index,a1,a2,a3,a4,a5){try{return Module["dynCall_iiiiii"](index,a1,a2,a3,a4,a5)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}function invoke_viiii(index,a1,a2,a3,a4){try{Module["dynCall_viiii"](index,a1,a2,a3,a4)}catch(e){if(typeof e!=="number"&&e!=="longjmp")throw e;asm["setThrew"](1,0)}}var asm=(function(global,env,buffer) {
// EMSCRIPTEN_START_ASM
"use asm";var a=new global.Int8Array(buffer);var b=new global.Int16Array(buffer);var c=new global.Int32Array(buffer);var d=new global.Uint8Array(buffer);var e=new global.Uint16Array(buffer);var f=new global.Uint32Array(buffer);var g=new global.Float32Array(buffer);var h=new global.Float64Array(buffer);var i=env.STACKTOP|0;var j=env.STACK_MAX|0;var k=env.tempDoublePtr|0;var l=env.ABORT|0;var m=env.cttz_i8|0;var n=env.ctlz_i8|0;var o=env.___dso_handle|0;var p=env._stderr|0;var q=env._stdin|0;var r=env._stdout|0;var s=0;var t=0;var u=0;var v=0;var w=+env.NaN,x=+env.Infinity;var y=0,z=0,A=0,B=0,C=0.0,D=0,E=0,F=0,G=0.0;var H=0;var I=0;var J=0;var K=0;var L=0;var M=0;var N=0;var O=0;var P=0;var Q=0;var R=global.Math.floor;var S=global.Math.abs;var T=global.Math.sqrt;var U=global.Math.pow;var V=global.Math.cos;var W=global.Math.sin;var X=global.Math.tan;var Y=global.Math.acos;var Z=global.Math.asin;var _=global.Math.atan;var $=global.Math.atan2;var aa=global.Math.exp;var ba=global.Math.log;var ca=global.Math.ceil;var da=global.Math.imul;var ea=env.abort;var fa=env.assert;var ga=env.min;var ha=env.jsCall;var ia=env.invoke_iiii;var ja=env.invoke_viiiiiii;var ka=env.invoke_viiiii;var la=env.invoke_i;var ma=env.invoke_vi;var na=env.invoke_vii;var oa=env.invoke_iiiiiii;var pa=env.invoke_viiiiiiiii;var qa=env.invoke_ii;var ra=env.invoke_viiiiiid;var sa=env.invoke_viii;var ta=env.invoke_viiiiid;var ua=env.invoke_v;var va=env.invoke_iiiiiiiii;var wa=env.invoke_iiiii;var xa=env.invoke_viiiiiiii;var ya=env.invoke_viiiiii;var za=env.invoke_iii;var Aa=env.invoke_iiiiii;var Ba=env.invoke_viiii;var Ca=env._fabs;var Da=env.floatReadValueFromPointer;var Ea=env.simpleReadValueFromPointer;var Fa=env.throwInternalError;var Ga=env.get_first_emval;var Ha=env.___cxa_guard_acquire;var Ia=env.getLiveInheritedInstances;var Ja=env.__ZSt18uncaught_exceptionv;var Ka=env.ClassHandle;var La=env.getShiftFromSize;var Ma=env.__addDays;var Na=env._sbrk;var Oa=env.___cxa_begin_catch;var Pa=env._emscripten_memcpy_big;var Qa=env.runDestructor;var Ra=env._sysconf;var Sa=env.throwInstanceAlreadyDeleted;var Ta=env.__embind_register_std_string;var Ua=env.genericPointerToWireType;var Va=env.init_RegisteredPointer;var Wa=env.ClassHandle_isAliasOf;var Xa=env._fileno;var Ya=env.flushPendingDeletes;var Za=env._fread;var _a=env.makeClassHandle;var $a=env.whenDependentTypesAreResolved;var ab=env._write;var bb=env.__isLeapYear;var cb=env.__embind_register_class_constructor;var db=env.RegisteredPointer_deleteObject;var eb=env.___cxa_atexit;var fb=env.init_ClassHandle;var gb=env._catclose;var hb=env.constNoSmartPtrRawPointerToWireType;var ib=env._fmodl;var jb=env._send;var kb=env.throwBindingError;var lb=env.RegisteredClass;var mb=env.___cxa_find_matching_catch;var nb=env.__embind_register_emval;var ob=env._strerror_r;var pb=env.__reallyNegative;var qb=env.___setErrNo;var rb=env.___ctype_tolower_loc;var sb=env._newlocale;var tb=env.__embind_register_bool;var ub=env.___resumeException;var vb=env._freelocale;var wb=env.createNamedFunction;var xb=env.validateThis;var yb=env.embind_init_charCodes;var zb=env.__emval_decref;var Ab=env._pthread_once;var Bb=env._pthread_mutex_unlock;var Cb=env.___ctype_toupper_loc;var Db=env.init_embind;var Eb=env.ClassHandle_clone;var Fb=env.heap32VectorToArray;var Gb=env.__emval_lookupTypes;var Hb=env.ClassHandle_delete;var Ib=env._read;var Jb=env.RegisteredPointer_destructor;var Kb=env._fwrite;var Lb=env.__emval_call;var Mb=env._time;var Nb=env._fprintf;var Ob=env.new_;var Pb=env.downcastPointer;var Qb=env._catopen;var Rb=env.replacePublicSymbol;var Sb=env.__embind_register_class;var Tb=env.ClassHandle_deleteLater;var Ub=env.__embind_register_integer;var Vb=env.___ctype_b_loc;var Wb=env._fmod;var Xb=env.ClassHandle_isDeleted;var Yb=env._vfprintf;var Zb=env.__emval_incref;var _b=env.___cxa_allocate_exception;var $b=env.___buildEnvironment;var ac=env._pwrite;var bc=env._uselocale;var cc=env.getTypeName;var dc=env._strftime;var ec=env.throwUnboundTypeError;var fc=env.craftInvokerFunction;var gc=env._getenv;var hc=env.runDestructors;var ic=env.requireRegisteredType;var jc=env.makeLegalFunctionName;var kc=env._pthread_key_create;var lc=env.upcastPointer;var mc=env.init_emval;var nc=env._pthread_cond_broadcast;var oc=env.shallowCopyInternalPointer;var pc=env.nonConstNoSmartPtrRawPointerToWireType;var qc=env._recv;var rc=env._copysign;var sc=env.registerType;var tc=env._abort;var uc=env.requireHandle;var vc=env.__emval_undefined;var wc=env._embind_repr;var xc=env.__embind_register_class_property;var yc=env.exposePublicSymbol;var zc=env.RegisteredPointer_fromWireType;var Ac=env._pthread_getspecific;var Bc=env._pthread_cond_wait;var Cc=env.__embind_register_memory_view;var Dc=env.getInheritedInstance;var Ec=env.setDelayFunction;var Fc=env.extendError;var Gc=env._ungetc;var Hc=env.ensureOverloadTable;var Ic=env.__embind_register_void;var Jc=env._fflush;var Kc=env._strftime_l;var Lc=env._pthread_mutex_lock;var Mc=env.RegisteredPointer_getPointee;var Nc=env.__emval_register;var Oc=env._catgets;var Pc=env.__embind_register_std_wstring;var Qc=env.__embind_register_class_function;var Rc=env.RegisteredPointer;var Sc=env.__arraySum;var Tc=env._calloc;var Uc=env.readLatin1String;var Vc=env.getBasestPointer;var Wc=env._pread;var Xc=env.getInheritedInstanceCount;var Yc=env.__embind_register_float;var Zc=env.integerReadValueFromPointer;var _c=env._getc;var $c=env.___errno_location;var ad=env.___cxa_guard_release;var bd=env._pthread_setspecific;var cd=env._fgetc;var dd=env._fputc;var ed=env.___cxa_throw;var fd=env._copysignl;var gd=env.count_emval_handles;var hd=env.requireFunction;var id=env._strerror;var jd=env.__formatString;var kd=env._atexit;var ld=0.0;
// EMSCRIPTEN_START_FUNCS
function Gd(a){a=a|0;var b=0;b=i;i=i+a|0;i=i+15&-16;return b|0}function Hd(){return i|0}function Id(a){a=a|0;i=a}function Jd(a,b){a=a|0;b=b|0;if((s|0)==0){s=a;t=b}}function Kd(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0]}function Ld(b){b=b|0;a[k>>0]=a[b>>0];a[k+1>>0]=a[b+1>>0];a[k+2>>0]=a[b+2>>0];a[k+3>>0]=a[b+3>>0];a[k+4>>0]=a[b+4>>0];a[k+5>>0]=a[b+5>>0];a[k+6>>0]=a[b+6>>0];a[k+7>>0]=a[b+7>>0]}function Md(a){a=a|0;H=a}function Nd(){return H|0}function Od(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;e=0;while(1){if((e|0)>=4){e=0;break}f=c[a+(e<<2)+88>>2]|0;if((f|0)!=0)c[f+128>>2]=b;e=e+1|0}while(1){if((e|0)>=4)break;f=c[a+(e<<2)+120>>2]|0;if((f|0)!=0)c[f+276>>2]=b;f=c[a+(e<<2)+136>>2]|0;if((f|0)!=0)c[f+276>>2]=b;e=e+1|0}i=d;return}function Pd(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;d=a+20|0;if((c[d>>2]|0)!=100){c[(c[a>>2]|0)+20>>2]=21;c[(c[a>>2]|0)+24>>2]=c[d>>2];qd[c[c[a>>2]>>2]&255](a)}if((b|0)!=0)Od(a,0);qd[c[(c[a>>2]|0)+16>>2]&255](a);qd[c[(c[a+24>>2]|0)+8>>2]&255](a);Fe(a);qd[c[c[a+392>>2]>>2]&255](a);c[a+264>>2]=0;c[d>>2]=(c[a+208>>2]|0)!=0?102:101;i=e;return}function Qd(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+16|0;f=e;g=a+20|0;if((c[g>>2]|0)!=101){c[(c[a>>2]|0)+20>>2]=21;c[(c[a>>2]|0)+24>>2]=c[g>>2];qd[c[c[a>>2]>>2]&255](a)}h=a+264|0;g=a+32|0;if(!((c[h>>2]|0)>>>0<(c[g>>2]|0)>>>0)){c[(c[a>>2]|0)+20>>2]=126;rd[c[(c[a>>2]|0)+4>>2]&127](a,-1)}j=a+8|0;k=c[j>>2]|0;if((k|0)!=0){c[k+4>>2]=c[h>>2];c[(c[j>>2]|0)+8>>2]=c[g>>2];qd[c[c[j>>2]>>2]&255](a)}j=c[a+392>>2]|0;if((c[j+12>>2]|0)!=0)qd[c[j+4>>2]&255](a);k=(c[g>>2]|0)-(c[h>>2]|0)|0;c[f>>2]=0;Fd[c[(c[a+396>>2]|0)+4>>2]&63](a,b,f,k>>>0<d>>>0?k:d);k=c[f>>2]|0;c[h>>2]=(c[h>>2]|0)+k;i=e;return k|0}function Rd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;e=i;f=c[b+424>>2]|0;if((d|0)!=0){c[(c[b>>2]|0)+20>>2]=49;qd[c[c[b>>2]>>2]&255](b)}do if((c[b+268>>2]|0)!=0){d=b+372|0;l=b+364|0;g=(c[l>>2]|0)==0;h=f+4|0;if((c[d>>2]|0)==0)if(g){c[h>>2]=36;break}else{c[h>>2]=37;break}else if(g){c[h>>2]=38;break}else{c[h>>2]=39;break}}else{c[f+4>>2]=40;d=b+372|0;l=b+364|0}while(0);k=b+292|0;j=b+4|0;g=b+368|0;h=0;while(1){if((h|0)>=(c[k>>2]|0))break;m=c[b+(h<<2)+296>>2]|0;if((c[l>>2]|0)==0?(c[d>>2]|0)==0:0){n=c[m+20>>2]|0;if((n|0)<0|(n|0)>15){c[(c[b>>2]|0)+20>>2]=50;c[(c[b>>2]|0)+24>>2]=n;qd[c[c[b>>2]>>2]&255](b)}o=f+(n<<2)+76|0;n=c[o>>2]|0;if((n|0)==0){n=md[c[c[j>>2]>>2]&63](b,1,64)|0;c[o>>2]=n}n=n+0|0;o=n+64|0;do{a[n>>0]=0;n=n+1|0}while((n|0)<(o|0));c[f+(h<<2)+36>>2]=0;c[f+(h<<2)+52>>2]=0}if((c[g>>2]|0)!=0){m=c[m+24>>2]|0;if((m|0)<0|(m|0)>15){c[(c[b>>2]|0)+20>>2]=50;c[(c[b>>2]|0)+24>>2]=m;qd[c[c[b>>2]>>2]&255](b)}n=f+(m<<2)+140|0;m=c[n>>2]|0;if((m|0)==0){m=md[c[c[j>>2]>>2]&63](b,1,256)|0;c[n>>2]=m}st(m|0,0,256)|0}h=h+1|0}c[f+12>>2]=0;c[f+16>>2]=65536;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=11;c[f+32>>2]=-1;c[f+68>>2]=c[b+236>>2];c[f+72>>2]=0;i=e;return}function Sd(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;d=i;f=c[b+424>>2]|0;m=c[f+12>>2]|0;g=(c[f+16>>2]|0)+ -1+m&-65536;e=f+12|0;if((g|0)<(m|0)){g=g|32768;c[e>>2]=g}else c[e>>2]=g;m=g<<c[f+28>>2];c[e>>2]=m;g=f+32|0;k=c[g>>2]|0;if(!(m>>>0>134217727)){if((k|0)!=0){if((k|0)>-1){j=f+24|0;h=b+24|0;if((c[j>>2]|0)!=0){do{k=c[h>>2]|0;l=c[k>>2]|0;c[k>>2]=l+1;a[l>>0]=0;l=k+4|0;m=(c[l>>2]|0)+ -1|0;c[l>>2]=m;if((m|0)==0?(ud[c[k+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}m=(c[j>>2]|0)+ -1|0;c[j>>2]=m}while((m|0)!=0);k=c[g>>2]|0}g=c[h>>2]|0;l=c[g>>2]|0;c[g>>2]=l+1;a[l>>0]=k;l=g+4|0;m=(c[l>>2]|0)+ -1|0;c[l>>2]=m;if((m|0)==0?(ud[c[g+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}}}else{m=f+24|0;c[m>>2]=(c[m>>2]|0)+1}g=f+20|0;if((c[g>>2]|0)!=0){j=f+24|0;k=b+24|0;if((c[j>>2]|0)==0){h=b;j=b}else{do{h=c[k>>2]|0;l=c[h>>2]|0;c[h>>2]=l+1;a[l>>0]=0;l=h+4|0;m=(c[l>>2]|0)+ -1|0;c[l>>2]=m;if((m|0)==0?(ud[c[h+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}m=(c[j>>2]|0)+ -1|0;c[j>>2]=m}while((m|0)!=0);h=b;j=b}do{l=c[k>>2]|0;n=c[l>>2]|0;c[l>>2]=n+1;a[n>>0]=-1;n=l+4|0;m=(c[n>>2]|0)+ -1|0;c[n>>2]=m;if((m|0)==0?(ud[c[l+12>>2]&127](b)|0)==0:0){c[(c[j>>2]|0)+20>>2]=25;qd[c[c[j>>2]>>2]&255](h)}l=c[k>>2]|0;m=c[l>>2]|0;c[l>>2]=m+1;a[m>>0]=0;m=l+4|0;n=(c[m>>2]|0)+ -1|0;c[m>>2]=n;if((n|0)==0?(ud[c[l+12>>2]&127](b)|0)==0:0){c[(c[j>>2]|0)+20>>2]=25;qd[c[c[j>>2]>>2]&255](h)}n=(c[g>>2]|0)+ -1|0;c[g>>2]=n}while((n|0)!=0)}}else{j=f+24|0;if((k|0)>-1){l=b+24|0;if((c[j>>2]|0)!=0){do{k=c[l>>2]|0;m=c[k>>2]|0;c[k>>2]=m+1;a[m>>0]=0;m=k+4|0;n=(c[m>>2]|0)+ -1|0;c[m>>2]=n;if((n|0)==0?(ud[c[k+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}n=(c[j>>2]|0)+ -1|0;c[j>>2]=n}while((n|0)!=0);k=c[g>>2]|0}m=c[l>>2]|0;n=c[m>>2]|0;c[m>>2]=n+1;a[n>>0]=k+1;k=m+4|0;n=(c[k>>2]|0)+ -1|0;c[k>>2]=n;if((n|0)==0?(ud[c[m+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}if(((c[g>>2]|0)==254?(h=c[l>>2]|0,m=c[h>>2]|0,c[h>>2]=m+1,a[m>>0]=0,m=h+4|0,n=(c[m>>2]|0)+ -1|0,c[m>>2]=n,(n|0)==0):0)?(ud[c[h+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}}n=f+20|0;c[j>>2]=(c[j>>2]|0)+(c[n>>2]|0);c[n>>2]=0}g=c[e>>2]|0;if((g&134215680|0)==0){i=d;return}h=f+24|0;f=b+24|0;if((c[h>>2]|0)!=0){do{g=c[f>>2]|0;m=c[g>>2]|0;c[g>>2]=m+1;a[m>>0]=0;m=g+4|0;n=(c[m>>2]|0)+ -1|0;c[m>>2]=n;if((n|0)==0?(ud[c[g+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}n=(c[h>>2]|0)+ -1|0;c[h>>2]=n}while((n|0)!=0);g=c[e>>2]|0}h=c[f>>2]|0;m=c[h>>2]|0;c[h>>2]=m+1;a[m>>0]=g>>>19;m=h+4|0;n=(c[m>>2]|0)+ -1|0;c[m>>2]=n;if((n|0)==0?(ud[c[h+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}h=c[e>>2]|0;if((h&133693440|0)==133693440){g=c[f>>2]|0;m=c[g>>2]|0;c[g>>2]=m+1;a[m>>0]=0;m=g+4|0;n=(c[m>>2]|0)+ -1|0;c[m>>2]=n;if((n|0)==0?(ud[c[g+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}h=c[e>>2]|0}if((h&522240|0)==0){i=d;return}g=c[f>>2]|0;m=c[g>>2]|0;c[g>>2]=m+1;a[m>>0]=h>>>11;m=g+4|0;n=(c[m>>2]|0)+ -1|0;c[m>>2]=n;if((n|0)==0?(ud[c[g+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}if((c[e>>2]&522240|0)!=522240){i=d;return}e=c[f>>2]|0;m=c[e>>2]|0;c[e>>2]=m+1;a[m>>0]=0;m=e+4|0;n=(c[m>>2]|0)+ -1|0;c[m>>2]=n;if((n|0)!=0){i=d;return}if((ud[c[e+12>>2]&127](b)|0)!=0){i=d;return}c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b);i=d;return}function Td(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;f=i;g=c[a+424>>2]|0;k=a+236|0;if((c[k>>2]|0)!=0){h=g+68|0;j=c[h>>2]|0;if((j|0)==0){t=g+72|0;Yd(a,c[t>>2]|0);j=c[k>>2]|0;c[h>>2]=j;c[t>>2]=(c[t>>2]|0)+1&7}c[h>>2]=j+ -1}j=a+320|0;k=a+376|0;h=0;while(1){if((h|0)>=(c[j>>2]|0))break;r=c[a+(h<<2)+324>>2]|0;m=c[(c[a+(r<<2)+296>>2]|0)+20>>2]|0;s=b[c[e+(h<<2)>>2]>>1]>>c[k>>2];n=g+(m<<2)+76|0;o=c[n>>2]|0;l=g+(r<<2)+52|0;t=c[l>>2]|0;q=o+t|0;r=g+(r<<2)+36|0;u=c[r>>2]|0;p=s-u|0;a:do if((s|0)==(u|0)){Zd(a,q,0);c[l>>2]=0}else{c[r>>2]=s;Zd(a,q,1);if((p|0)>0){Zd(a,o+(t+1)|0,0);r=t+2|0;q=4}else{Zd(a,o+(t+1)|0,1);r=t+3|0;q=8;p=0-p|0}r=o+r|0;c[l>>2]=q;o=p+ -1|0;b:do if((o|0)==0){p=0;n=r}else{Zd(a,r,1);p=1;n=(c[n>>2]|0)+20|0;q=o;while(1){q=q>>1;if((q|0)==0)break b;Zd(a,n,1);p=p<<1;n=n+1|0}}while(0);Zd(a,n,0);if((p|0)>=(1<<d[a+m+152>>0]>>1|0)){if((p|0)>(1<<d[a+m+168>>0]>>1|0))c[l>>2]=(c[l>>2]|0)+8}else c[l>>2]=0;l=n+14|0;while(1){p=p>>1;if((p|0)==0)break a;Zd(a,l,(p&o|0)!=0&1)}}while(0);h=h+1|0}i=f;return 1}function Ud(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;f=i;m=c[a+424>>2]|0;h=a+236|0;if((c[h>>2]|0)!=0){g=m+68|0;j=c[g>>2]|0;if((j|0)==0){t=m+72|0;Yd(a,c[t>>2]|0);j=c[h>>2]|0;c[g>>2]=j;c[t>>2]=(c[t>>2]|0)+1&7}c[g>>2]=j+ -1}g=c[a+384>>2]|0;e=c[e>>2]|0;n=c[(c[a+296>>2]|0)+24>>2]|0;j=a+368|0;h=a+376|0;k=c[j>>2]|0;while(1){t=b[e+(c[g+(k<<2)>>2]<<1)>>1]|0;l=t<<16>>16;if(t<<16>>16>-1){if((l>>c[h>>2]|0)!=0)break}else if((0-l>>c[h>>2]|0)!=0)break;k=k+ -1|0;if((k|0)==0){k=0;break}}l=m+(n<<2)+140|0;m=m+204|0;n=a+n+184|0;o=(c[a+364>>2]|0)+ -1|0;a:while(1){if((o|0)>=(k|0))break;p=(c[l>>2]|0)+(o*3|0)|0;Zd(a,p,0);q=o;while(1){o=q+1|0;t=b[e+(c[g+(o<<2)>>2]<<1)>>1]|0;r=t<<16>>16;if(t<<16>>16>-1){t=r>>c[h>>2];if((t|0)!=0){r=15;break}}else{t=0-r>>c[h>>2];if((t|0)!=0){r=17;break}}Zd(a,p+1|0,0);q=o;p=p+3|0}if((r|0)==15){Zd(a,p+1|0,1);Zd(a,m,0)}else if((r|0)==17){Zd(a,p+1|0,1);Zd(a,m,1)}s=p+2|0;p=t+ -1|0;b:do if((p|0)!=0){Zd(a,s,1);t=p>>1;if((t|0)==0){r=1;q=s}else{Zd(a,s,1);r=2;q=(c[l>>2]|0)+((q|0)<(d[n>>0]|0|0)?189:217)|0;while(1){t=t>>1;if((t|0)==0)break b;Zd(a,q,1);r=r<<1;q=q+1|0}}}else{r=0;q=s}while(0);Zd(a,q,0);q=q+14|0;while(1){r=r>>1;if((r|0)==0)continue a;Zd(a,q,(r&p|0)!=0&1)}}if((o|0)>=(c[j>>2]|0)){i=f;return 1}Zd(a,(c[l>>2]|0)+(o*3|0)|0,1);i=f;return 1}function Vd(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;f=c[a+424>>2]|0;h=a+236|0;if((c[h>>2]|0)!=0){g=f+68|0;j=c[g>>2]|0;if((j|0)==0){k=f+72|0;Yd(a,c[k>>2]|0);j=c[h>>2]|0;c[g>>2]=j;c[k>>2]=(c[k>>2]|0)+1&7}c[g>>2]=j+ -1}g=f+204|0;j=c[a+376>>2]|0;f=a+320|0;h=0;while(1){if((h|0)>=(c[f>>2]|0))break;Zd(a,g,(b[c[d+(h<<2)>>2]>>1]|0)>>>j&1);h=h+1|0}i=e;return 1}function Wd(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=i;l=c[a+424>>2]|0;g=a+236|0;if((c[g>>2]|0)!=0){f=l+68|0;h=c[f>>2]|0;if((h|0)==0){q=l+72|0;Yd(a,c[q>>2]|0);h=c[g>>2]|0;c[f>>2]=h;c[q>>2]=(c[q>>2]|0)+1&7}c[f>>2]=h+ -1}f=c[a+384>>2]|0;d=c[d>>2]|0;m=c[(c[a+296>>2]|0)+24>>2]|0;h=a+368|0;g=a+376|0;k=c[h>>2]|0;while(1){q=b[d+(c[f+(k<<2)>>2]<<1)>>1]|0;j=q<<16>>16;if(q<<16>>16>-1){if((j>>c[g>>2]|0)!=0)break}else if((0-j>>c[g>>2]|0)!=0)break;k=k+ -1|0;if((k|0)==0){k=0;break}}o=a+372|0;j=k;while(1){if((j|0)<=0)break;q=b[d+(c[f+(j<<2)>>2]<<1)>>1]|0;n=q<<16>>16;if(q<<16>>16>-1){if((n>>c[o>>2]|0)!=0)break}else if((0-n>>c[o>>2]|0)!=0)break;j=j+ -1|0}m=l+(m<<2)+140|0;l=l+204|0;p=(c[a+364>>2]|0)+ -1|0;while(1){if((p|0)>=(k|0))break;n=(c[m>>2]|0)+(p*3|0)|0;if((p|0)>=(j|0))Zd(a,n,0);while(1){p=p+1|0;q=b[d+(c[f+(p<<2)>>2]<<1)>>1]|0;o=q<<16>>16;if(q<<16>>16>-1){q=o>>c[g>>2];if((q|0)!=0){o=22;break}}else{q=0-o>>c[g>>2];if((q|0)!=0){o=26;break}}Zd(a,n+1|0,0);n=n+3|0}if((o|0)==22)if(q>>>0>1){Zd(a,n+2|0,q&1);continue}else{Zd(a,n+1|0,1);Zd(a,l,0);continue}else if((o|0)==26)if(q>>>0>1){Zd(a,n+2|0,q&1);continue}else{Zd(a,n+1|0,1);Zd(a,l,1);continue}}if((p|0)>=(c[h>>2]|0)){i=e;return 1}Zd(a,(c[m>>2]|0)+(p*3|0)|0,1);i=e;return 1}function Xd(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;f=i;g=c[a+424>>2]|0;k=a+236|0;if((c[k>>2]|0)!=0){h=g+68|0;j=c[h>>2]|0;if((j|0)==0){x=g+72|0;Yd(a,c[x>>2]|0);j=c[k>>2]|0;c[h>>2]=j;c[x>>2]=(c[x>>2]|0)+1&7}c[h>>2]=j+ -1}k=c[a+384>>2]|0;l=a+320|0;h=a+388|0;n=g+204|0;m=0;while(1){if((m|0)>=(c[l>>2]|0))break;j=c[e+(m<<2)>>2]|0;v=c[a+(m<<2)+324>>2]|0;o=c[a+(v<<2)+296>>2]|0;p=c[o+20>>2]|0;r=g+(p<<2)+76|0;s=c[r>>2]|0;q=g+(v<<2)+52|0;u=c[q>>2]|0;x=s+u|0;w=b[j>>1]|0;v=g+(v<<2)+36|0;y=c[v>>2]|0;t=w-y|0;a:do if((w|0)==(y|0)){Zd(a,x,0);c[q>>2]=0}else{c[v>>2]=w;Zd(a,x,1);if((t|0)>0){Zd(a,s+(u+1)|0,0);v=u+2|0;u=4}else{Zd(a,s+(u+1)|0,1);v=u+3|0;u=8;t=0-t|0}v=s+v|0;c[q>>2]=u;s=t+ -1|0;b:do if((s|0)==0)t=0;else{Zd(a,v,1);t=1;v=(c[r>>2]|0)+20|0;r=s;while(1){r=r>>1;if((r|0)==0)break b;Zd(a,v,1);t=t<<1;v=v+1|0}}while(0);Zd(a,v,0);if((t|0)>=(1<<d[a+p+152>>0]>>1|0)){if((t|0)>(1<<d[a+p+168>>0]>>1|0))c[q>>2]=(c[q>>2]|0)+8}else c[q>>2]=0;p=v+14|0;while(1){t=t>>1;if((t|0)==0)break a;Zd(a,p,(t&s|0)!=0&1)}}while(0);p=c[h>>2]|0;if((p|0)!=0){q=c[o+24>>2]|0;while(1){if((b[j+(c[k+(p<<2)>>2]<<1)>>1]|0)!=0)break;p=p+ -1|0;if((p|0)==0){p=0;break}}o=g+(q<<2)+140|0;q=a+q+184|0;r=0;c:while(1){if((r|0)>=(p|0))break;s=(c[o>>2]|0)+(r*3|0)|0;Zd(a,s,0);t=r;while(1){r=t+1|0;u=b[j+(c[k+(r<<2)>>2]<<1)>>1]|0;if(!(u<<16>>16==0))break;Zd(a,s+1|0,0);t=r;s=s+3|0}v=u<<16>>16;Zd(a,s+1|0,1);if(u<<16>>16>0){Zd(a,n,0);u=v}else{Zd(a,n,1);u=0-v|0}v=s+2|0;s=u+ -1|0;d:do if((s|0)!=0){Zd(a,v,1);w=s>>1;if((w|0)==0){u=1;t=v}else{Zd(a,v,1);u=2;t=(c[o>>2]|0)+((t|0)<(d[q>>0]|0)?189:217)|0;while(1){w=w>>1;if((w|0)==0)break d;Zd(a,t,1);u=u<<1;t=t+1|0}}}else{u=0;t=v}while(0);Zd(a,t,0);t=t+14|0;while(1){u=u>>1;if((u|0)==0)continue c;Zd(a,t,(u&s|0)!=0&1)}}if((r|0)<(c[h>>2]|0))Zd(a,(c[o>>2]|0)+(r*3|0)|0,1)}m=m+1|0}i=f;return 1}function Yd(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;e=i;f=c[b+424>>2]|0;Sd(b);h=b+24|0;g=c[h>>2]|0;m=c[g>>2]|0;c[g>>2]=m+1;a[m>>0]=-1;m=g+4|0;n=(c[m>>2]|0)+ -1|0;c[m>>2]=n;if((n|0)==0?(ud[c[g+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}g=c[h>>2]|0;m=c[g>>2]|0;c[g>>2]=m+1;a[m>>0]=d+208;m=g+4|0;n=(c[m>>2]|0)+ -1|0;c[m>>2]=n;if((n|0)==0?(ud[c[g+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}h=b+292|0;m=b+364|0;j=b+372|0;n=b+368|0;l=0;while(1){if((l|0)>=(c[h>>2]|0))break;g=c[b+(l<<2)+296>>2]|0;if((c[m>>2]|0)==0?(c[j>>2]|0)==0:0){k=(c[f+(c[g+20>>2]<<2)+76>>2]|0)+0|0;d=k+64|0;do{a[k>>0]=0;k=k+1|0}while((k|0)<(d|0));c[f+(l<<2)+36>>2]=0;c[f+(l<<2)+52>>2]=0}if((c[n>>2]|0)!=0)st(c[f+(c[g+24>>2]<<2)+140>>2]|0,0,256)|0;l=l+1|0}c[f+12>>2]=0;c[f+16>>2]=65536;c[f+20>>2]=0;c[f+24>>2]=0;c[f+28>>2]=11;c[f+32>>2]=-1;i=e;return}function Zd(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;g=i;n=c[b+424>>2]|0;k=d[e>>0]|0;l=c[8+((k&127)<<2)>>2]|0;p=l>>>8;m=l>>16;h=n+16|0;o=(c[h>>2]|0)-m|0;c[h>>2]=o;if((k>>>7|0)==(f|0)){if((o|0)>32767){i=g;return}if((o|0)<(m|0)){q=n+12|0;c[q>>2]=(c[q>>2]|0)+o;c[h>>2]=m}k=k&128^p&255}else{if((o|0)>=(m|0)){q=n+12|0;c[q>>2]=(c[q>>2]|0)+o;c[h>>2]=m}k=k&128^l}a[e>>0]=k;e=n+12|0;k=n+28|0;f=n+32|0;l=n+24|0;m=b+24|0;n=n+20|0;q=c[h>>2]|0;o=c[e>>2]|0;p=c[k>>2]|0;do{q=q<<1;c[h>>2]=q;o=o<<1;c[e>>2]=o;p=p+ -1|0;c[k>>2]=p;if((p|0)==0){o=o>>19;do if((o|0)>255){p=c[f>>2]|0;if((p|0)>-1){if((c[l>>2]|0)!=0){do{p=c[m>>2]|0;r=c[p>>2]|0;c[p>>2]=r+1;a[r>>0]=0;r=p+4|0;q=(c[r>>2]|0)+ -1|0;c[r>>2]=q;if((q|0)==0?(ud[c[p+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}r=(c[l>>2]|0)+ -1|0;c[l>>2]=r}while((r|0)!=0);p=c[f>>2]|0}q=c[m>>2]|0;r=c[q>>2]|0;c[q>>2]=r+1;a[r>>0]=p+1;p=q+4|0;r=(c[p>>2]|0)+ -1|0;c[p>>2]=r;if((r|0)==0?(ud[c[q+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}if(((c[f>>2]|0)==254?(j=c[m>>2]|0,q=c[j>>2]|0,c[j>>2]=q+1,a[q>>0]=0,q=j+4|0,r=(c[q>>2]|0)+ -1|0,c[q>>2]=r,(r|0)==0):0)?(ud[c[j+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}}c[l>>2]=(c[l>>2]|0)+(c[n>>2]|0);c[n>>2]=0;c[f>>2]=o&255}else{if((o|0)==255){c[n>>2]=(c[n>>2]|0)+1;break}p=c[f>>2]|0;if((p|0)!=0){if((p|0)>-1){if((c[l>>2]|0)!=0){do{p=c[m>>2]|0;q=c[p>>2]|0;c[p>>2]=q+1;a[q>>0]=0;q=p+4|0;r=(c[q>>2]|0)+ -1|0;c[q>>2]=r;if((r|0)==0?(ud[c[p+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}r=(c[l>>2]|0)+ -1|0;c[l>>2]=r}while((r|0)!=0);p=c[f>>2]|0}q=c[m>>2]|0;r=c[q>>2]|0;c[q>>2]=r+1;a[r>>0]=p;p=q+4|0;r=(c[p>>2]|0)+ -1|0;c[p>>2]=r;if((r|0)==0?(ud[c[q+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}}}else c[l>>2]=(c[l>>2]|0)+1;if((c[n>>2]|0)!=0){if((c[l>>2]|0)!=0)do{p=c[m>>2]|0;q=c[p>>2]|0;c[p>>2]=q+1;a[q>>0]=0;q=p+4|0;r=(c[q>>2]|0)+ -1|0;c[q>>2]=r;if((r|0)==0?(ud[c[p+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}r=(c[l>>2]|0)+ -1|0;c[l>>2]=r}while((r|0)!=0);do{p=c[m>>2]|0;q=c[p>>2]|0;c[p>>2]=q+1;a[q>>0]=-1;q=p+4|0;r=(c[q>>2]|0)+ -1|0;c[q>>2]=r;if((r|0)==0?(ud[c[p+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}p=c[m>>2]|0;q=c[p>>2]|0;c[p>>2]=q+1;a[q>>0]=0;q=p+4|0;r=(c[q>>2]|0)+ -1|0;c[q>>2]=r;if((r|0)==0?(ud[c[p+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}r=(c[n>>2]|0)+ -1|0;c[n>>2]=r}while((r|0)!=0)}c[f>>2]=o&255}while(0);o=c[e>>2]&524287;c[e>>2]=o;p=(c[k>>2]|0)+8|0;c[k>>2]=p;q=c[h>>2]|0}}while((q|0)<32768);i=g;return}function _d(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;d=i;f=a+4|0;e=md[c[c[f>>2]>>2]&63](a,1,104)|0;c[a+404>>2]=e;c[e>>2]=60;if((b|0)!=0){b=a+76|0;h=0;g=c[a+84>>2]|0;while(1){if((h|0)>=(c[b>>2]|0))break;l=c[g+8>>2]|0;m=l+ -1+(c[g+28>>2]|0)|0;j=c[g+12>>2]|0;k=j+ -1+(c[g+32>>2]|0)|0;c[e+(h<<2)+64>>2]=sd[c[(c[f>>2]|0)+20>>2]&31](a,1,0,m-((m|0)%(l|0)|0)|0,k-((k|0)%(j|0)|0)|0,j)|0;h=h+1|0;g=g+88|0}i=d;return}a=md[c[(c[f>>2]|0)+4>>2]&63](a,1,1280)|0;f=0;while(1){if((f|0)>=10)break;c[e+(f<<2)+24>>2]=a+(f<<7);f=f+1|0}c[e+64>>2]=0;i=d;return}function $d(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;e=i;f=a+404|0;d=c[f>>2]|0;c[d+8>>2]=0;f=c[f>>2]|0;do if((c[a+292>>2]|0)<=1){g=c[a+296>>2]|0;if((c[f+8>>2]|0)>>>0<((c[a+288>>2]|0)+ -1|0)>>>0){c[f+20>>2]=c[g+12>>2];break}else{c[f+20>>2]=c[g+76>>2];break}}else c[f+20>>2]=1;while(0);c[f+12>>2]=0;c[f+16>>2]=0;if((b|0)==0){if((c[d+64>>2]|0)!=0){c[(c[a>>2]|0)+20>>2]=3;qd[c[c[a>>2]>>2]&255](a)}c[d+4>>2]=41;i=e;return}else if((b|0)==3){if((c[d+64>>2]|0)==0){c[(c[a>>2]|0)+20>>2]=3;qd[c[c[a>>2]>>2]&255](a)}c[d+4>>2]=42;i=e;return}else if((b|0)==2){if((c[d+64>>2]|0)==0){c[(c[a>>2]|0)+20>>2]=3;qd[c[c[a>>2]>>2]&255](a)}c[d+4>>2]=43;i=e;return}else{c[(c[a>>2]|0)+20>>2]=3;qd[c[c[a>>2]>>2]&255](a);i=e;return}}function ae(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;e=i;h=a+404|0;r=c[h>>2]|0;k=(c[a+312>>2]|0)+ -1|0;f=a+288|0;q=(c[f>>2]|0)+ -1|0;t=r+16|0;m=r+20|0;l=r+12|0;g=a+292|0;p=a+420|0;z=r+8|0;n=a+424|0;o=r+24|0;s=c[t>>2]|0;a:while(1){if((s|0)>=(c[m>>2]|0))break;v=c[l>>2]|0;while(1){if(v>>>0>k>>>0)break;w=v>>>0<k>>>0;J=0;x=0;while(1){if((x|0)>=(c[g>>2]|0))break;A=c[a+(x<<2)+296>>2]|0;B=A+4|0;j=c[(c[p>>2]|0)+(c[B>>2]<<2)+4>>2]|0;if(w){C=A+56|0;y=C}else{y=A+56|0;C=A+72|0}F=c[C>>2]|0;G=da(v,c[A+68>>2]|0)|0;E=A+40|0;D=A+60|0;C=A+76|0;H=0;I=da(s,c[E>>2]|0)|0;while(1){if((H|0)>=(c[D>>2]|0))break;b:do if(!((c[z>>2]|0)>>>0<q>>>0)?(s+H|0)>=(c[C>>2]|0):0){st(c[r+(J<<2)+24>>2]|0,0,c[y>>2]<<7|0)|0;K=r+(J+ -1<<2)+24|0;L=0;while(1){M=c[y>>2]|0;if((L|0)>=(M|0))break b;b[c[r+(J+L<<2)+24>>2]>>1]=b[c[K>>2]>>1]|0;L=L+1|0}}else u=14;while(0);c:do if((u|0)==14){u=0;nd[j&127](a,A,c[d+(c[B>>2]<<2)>>2]|0,c[r+(J<<2)+24>>2]|0,I,G,F);M=c[y>>2]|0;if((F|0)<(M|0)){st(c[r+(J+F<<2)+24>>2]|0,0,M-F<<7|0)|0;K=F;while(1){M=c[y>>2]|0;if((K|0)>=(M|0))break c;M=J+K|0;b[c[r+(M<<2)+24>>2]>>1]=b[c[r+(M+ -1<<2)+24>>2]>>1]|0;K=K+1|0}}}while(0);J=J+M|0;H=H+1|0;I=I+(c[E>>2]|0)|0}x=x+1|0}if((Dd[c[(c[n>>2]|0)+4>>2]&127](a,o)|0)==0){u=24;break a}v=v+1|0}c[l>>2]=0;s=s+1|0}if((u|0)==24){c[t>>2]=s;c[l>>2]=v;M=0;i=e;return M|0}c[z>>2]=(c[z>>2]|0)+1;h=c[h>>2]|0;do if((c[g>>2]|0)<=1){a=c[a+296>>2]|0;if((c[h+8>>2]|0)>>>0<((c[f>>2]|0)+ -1|0)>>>0){c[h+20>>2]=c[a+12>>2];break}else{c[h+20>>2]=c[a+76>>2];break}}else c[h+20>>2]=1;while(0);c[h+12>>2]=0;c[h+16>>2]=0;M=1;i=e;return M|0}function be(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;q=i;h=c[a+404>>2]|0;j=(c[a+288>>2]|0)+ -1|0;k=a+76|0;g=a+4|0;f=h+8|0;l=a+420|0;e=0;m=c[a+84>>2]|0;while(1){if((e|0)>=(c[k>>2]|0))break;n=m+12|0;o=c[n>>2]|0;C=da(c[f>>2]|0,o)|0;o=Ed[c[(c[g>>2]|0)+32>>2]&63](a,c[h+(e<<2)+64>>2]|0,C,o,1)|0;if((c[f>>2]|0)>>>0<j>>>0)r=c[n>>2]|0;else{C=c[n>>2]|0;r=((c[m+32>>2]|0)>>>0)%(C>>>0)|0;r=(r|0)==0?C:r}u=c[m+28>>2]|0;p=c[m+8>>2]|0;s=(u>>>0)%(p>>>0)|0;s=(s|0)>0?p-s|0:s;w=c[(c[l>>2]|0)+(e<<2)+4>>2]|0;x=d+(e<<2)|0;v=m+40|0;y=(s|0)>0;t=s<<7;z=0;while(1){if((z|0)>=(r|0))break;A=c[o+(z<<2)>>2]|0;C=da(z,c[v>>2]|0)|0;nd[w&127](a,m,c[x>>2]|0,A,C,0,u);a:do if(y){st(A+(u<<7)|0,0,t|0)|0;B=b[A+(u+ -1<<7)>>1]|0;C=0;while(1){if((C|0)>=(s|0))break a;b[A+(u+C<<7)>>1]=B;C=C+1|0}}while(0);z=z+1|0}b:do if((c[f>>2]|0)==(j|0)){t=u+s|0;s=(t>>>0)/(p>>>0)|0;t=t<<7;u=p+ -1|0;while(1){if((r|0)>=(c[n>>2]|0))break b;x=c[o+(r<<2)>>2]|0;v=c[o+(r+ -1<<2)>>2]|0;st(x|0,0,t|0)|0;w=0;while(1){if(!(w>>>0<s>>>0))break;y=b[v+(u<<7)>>1]|0;z=0;while(1){if((z|0)>=(p|0))break;b[x+(z<<7)>>1]=y;z=z+1|0}v=v+(p<<7)|0;w=w+1|0;x=x+(p<<7)|0}r=r+1|0}}while(0);e=e+1|0;m=m+88|0}C=ce(a,d)|0;i=q;return C|0}function ce(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;b=i;i=i+16|0;h=b;g=a+404|0;j=c[g>>2]|0;d=a+292|0;k=a+4|0;f=j+8|0;l=0;while(1){if((l|0)>=(c[d>>2]|0))break;z=c[a+(l<<2)+296>>2]|0;B=c[z+12>>2]|0;A=da(c[f>>2]|0,B)|0;c[h+(l<<2)>>2]=Ed[c[(c[k>>2]|0)+32>>2]&63](a,c[j+(c[z+4>>2]<<2)+64>>2]|0,A,B,0)|0;l=l+1|0}o=j+16|0;l=j+20|0;p=j+12|0;s=a+312|0;q=a+424|0;r=j+24|0;n=c[o>>2]|0;a:while(1){if((n|0)>=(c[l>>2]|0))break;u=c[p>>2]|0;while(1){if(u>>>0<(c[s>>2]|0)>>>0){y=0;v=0}else break;while(1){if((v|0)>=(c[d>>2]|0))break;k=c[a+(v<<2)+296>>2]|0;t=k+56|0;z=c[t>>2]|0;m=da(u,z)|0;k=k+60|0;w=h+(v<<2)|0;x=0;while(1){if((x|0)>=(c[k>>2]|0))break;B=(c[(c[w>>2]|0)+(x+n<<2)>>2]|0)+(m<<7)|0;A=0;while(1){if((A|0)>=(z|0))break;c[j+(y<<2)+24>>2]=B;z=c[t>>2]|0;y=y+1|0;B=B+128|0;A=A+1|0}x=x+1|0}v=v+1|0}if((Dd[c[(c[q>>2]|0)+4>>2]&127](a,r)|0)==0){e=17;break a}u=u+1|0}c[p>>2]=0;n=n+1|0}if((e|0)==17){c[o>>2]=n;c[p>>2]=u;B=0;i=b;return B|0}c[f>>2]=(c[f>>2]|0)+1;e=c[g>>2]|0;do if((c[d>>2]|0)<=1){d=c[a+296>>2]|0;if((c[e+8>>2]|0)>>>0<((c[a+288>>2]|0)+ -1|0)>>>0){c[e+20>>2]=c[d+12>>2];break}else{c[e+20>>2]=c[d+76>>2];break}}else c[e+20>>2]=1;while(0);c[e+12>>2]=0;c[e+16>>2]=0;B=1;i=b;return B|0}function de(a){a=a|0;return}function ee(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;j=i;h=c[b+36>>2]|0;b=c[b+28>>2]|0;a:while(1){k=g+ -1|0;if((g|0)<=0)break;g=d+4|0;l=f+1|0;f=c[(c[e>>2]|0)+(f<<2)>>2]|0;d=c[d>>2]|0;m=0;while(1){if(!(m>>>0<b>>>0)){d=g;g=k;f=l;continue a}a[f+m>>0]=a[d>>0]|0;d=d+h|0;m=m+1|0}}i=j;return}function fe(a){a=a|0;var b=0,d=0,e=0;b=i;e=c[a+412>>2]|0;d=md[c[c[a+4>>2]>>2]&63](a,1,8192)|0;c[e+8>>2]=d;a=0;while(1){if((a|0)>=256)break;c[d+(a<<2)>>2]=a*19595;c[d+(a+256<<2)>>2]=a*38470;c[d+(a+512<<2)>>2]=(a*7471|0)+32768;c[d+(a+768<<2)>>2]=da(a,-11058)|0;c[d+(a+1024<<2)>>2]=da(a,-21710)|0;c[d+(a+1280<<2)>>2]=(a<<15)+8421375;c[d+(a+1536<<2)>>2]=da(a,-27439)|0;c[d+(a+1792<<2)>>2]=da(a,-5329)|0;a=a+1|0}i=b;return}function ge(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0;k=i;j=c[(c[b+412>>2]|0)+8>>2]|0;b=c[b+28>>2]|0;a:while(1){l=h+ -1|0;if((h|0)<=0)break;h=e+4|0;m=g+1|0;g=c[(c[f>>2]|0)+(g<<2)>>2]|0;e=c[e>>2]|0;n=0;while(1){if(!(n>>>0<b>>>0)){e=h;h=l;g=m;continue a}a[g+n>>0]=((c[j+((d[e>>0]|0)<<2)>>2]|0)+(c[j+((d[e+1>>0]|0|256)<<2)>>2]|0)+(c[j+((d[e+2>>0]|0|512)<<2)>>2]|0)|0)>>>16;e=e+3|0;n=n+1|0}}i=k;return}function he(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;h=i;k=c[b+28>>2]|0;b=e+4|0;j=e+8|0;a:while(1){l=g+ -1|0;if((g|0)<=0)break;m=d+4|0;o=c[(c[e>>2]|0)+(f<<2)>>2]|0;n=c[(c[b>>2]|0)+(f<<2)>>2]|0;g=c[(c[j>>2]|0)+(f<<2)>>2]|0;f=f+1|0;d=c[d>>2]|0;p=0;while(1){if(!(p>>>0<k>>>0)){g=l;d=m;continue a}a[o+p>>0]=a[d>>0]|0;a[n+p>>0]=a[d+1>>0]|0;a[g+p>>0]=a[d+2>>0]|0;d=d+3|0;p=p+1|0}}i=h;return}function ie(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;j=i;l=c[b+28>>2]|0;b=f+4|0;k=f+8|0;a:while(1){m=h+ -1|0;if((h|0)<=0)break;n=e+4|0;p=c[(c[f>>2]|0)+(g<<2)>>2]|0;o=c[(c[b>>2]|0)+(g<<2)>>2]|0;h=c[(c[k>>2]|0)+(g<<2)>>2]|0;g=g+1|0;e=c[e>>2]|0;q=0;while(1){if(!(q>>>0<l>>>0)){h=m;e=n;continue a}t=a[e+1>>0]|0;r=t&255;s=d[e+2>>0]|0;a[p+q>>0]=(d[e>>0]|0)-r+128;a[o+q>>0]=t;a[h+q>>0]=s-r+128;e=e+3|0;q=q+1|0}}i=j;return}function je(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;k=i;j=c[(c[b+412>>2]|0)+8>>2]|0;m=c[b+28>>2]|0;b=f+4|0;l=f+8|0;a:while(1){n=h+ -1|0;if((h|0)<=0)break;p=e+4|0;o=c[(c[f>>2]|0)+(g<<2)>>2]|0;h=c[(c[b>>2]|0)+(g<<2)>>2]|0;q=c[(c[l>>2]|0)+(g<<2)>>2]|0;g=g+1|0;e=c[e>>2]|0;r=0;while(1){if(!(r>>>0<m>>>0)){e=p;h=n;continue a}u=d[e>>0]|0;t=d[e+1>>0]|0;s=d[e+2>>0]|0;a[o+r>>0]=((c[j+(u<<2)>>2]|0)+(c[j+((t|256)<<2)>>2]|0)+(c[j+((s|512)<<2)>>2]|0)|0)>>>16;a[h+r>>0]=((c[j+((u|768)<<2)>>2]|0)+(c[j+((t|1024)<<2)>>2]|0)+(c[j+((s|1280)<<2)>>2]|0)|0)>>>16;a[q+r>>0]=((c[j+((u|1280)<<2)>>2]|0)+(c[j+((t|1536)<<2)>>2]|0)+(c[j+((s|1792)<<2)>>2]|0)|0)>>>16;e=e+3|0;r=r+1|0}}i=k;return}function ke(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;h=i;j=c[b+76>>2]|0;b=c[b+28>>2]|0;while(1){k=g+ -1|0;if((g|0)>0)m=0;else break;while(1){if((m|0)>=(j|0))break;g=(c[d>>2]|0)+m|0;n=c[(c[e+(m<<2)>>2]|0)+(f<<2)>>2]|0;l=0;while(1){if(!(l>>>0<b>>>0))break;a[n>>0]=a[g>>0]|0;g=g+j|0;n=n+1|0;l=l+1|0}m=m+1|0}d=d+4|0;g=k;f=f+1|0}i=h;return}function le(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;k=i;j=c[(c[b+412>>2]|0)+8>>2]|0;n=c[b+28>>2]|0;b=f+4|0;l=f+8|0;m=f+12|0;a:while(1){o=h+ -1|0;if((h|0)<=0)break;r=e+4|0;p=c[(c[f>>2]|0)+(g<<2)>>2]|0;h=c[(c[b>>2]|0)+(g<<2)>>2]|0;s=c[(c[l>>2]|0)+(g<<2)>>2]|0;q=c[(c[m>>2]|0)+(g<<2)>>2]|0;g=g+1|0;e=c[e>>2]|0;t=0;while(1){if(!(t>>>0<n>>>0)){e=r;h=o;continue a}w=(d[e>>0]|0)^255;v=(d[e+1>>0]|0)^255;u=(d[e+2>>0]|0)^255;a[q+t>>0]=a[e+3>>0]|0;a[p+t>>0]=((c[j+(w<<2)>>2]|0)+(c[j+((v|256)<<2)>>2]|0)+(c[j+((u|512)<<2)>>2]|0)|0)>>>16;a[h+t>>0]=((c[j+((w|768)<<2)>>2]|0)+(c[j+((v|1024)<<2)>>2]|0)+(c[j+((u|1280)<<2)>>2]|0)|0)>>>16;a[s+t>>0]=((c[j+((w|1280)<<2)>>2]|0)+(c[j+((v|1536)<<2)>>2]|0)+(c[j+((u|1792)<<2)>>2]|0)|0)>>>16;e=e+4|0;t=t+1|0}}i=k;return}function me(a){a=a|0;var d=0,f=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;m=i;f=c[a+420>>2]|0;k=a+76|0;j=a+232|0;l=0;o=0;d=c[a+84>>2]|0;while(1){if((l|0)>=(c[k>>2]|0))break;q=d+36|0;p=d+40|0;a:do switch((c[q>>2]<<8)+(c[p>>2]|0)|0){case 257:{c[f+(l<<2)+44>>2]=24;o=0;break};case 1028:{c[f+(l<<2)+44>>2]=27;o=0;break};case 3084:{c[f+(l<<2)+44>>2]=34;o=0;break};case 3341:{c[f+(l<<2)+44>>2]=35;o=0;break};case 4104:{c[f+(l<<2)+44>>2]=39;o=0;break};case 1285:{c[f+(l<<2)+44>>2]=28;o=0;break};case 2570:{c[f+(l<<2)+44>>2]=32;o=0;break};case 2064:{c[f+(l<<2)+44>>2]=47;o=0;break};case 1799:{c[f+(l<<2)+44>>2]=30;o=0;break};case 514:{c[f+(l<<2)+44>>2]=25;o=0;break};case 774:{c[f+(l<<2)+44>>2]=52;o=0;break};case 1032:{c[f+(l<<2)+44>>2]=51;o=0;break};case 258:{c[f+(l<<2)+44>>2]=54;o=0;break};case 1026:{c[f+(l<<2)+44>>2]=45;o=0;break};case 2565:{c[f+(l<<2)+44>>2]=42;o=0;break};case 3598:{c[f+(l<<2)+44>>2]=36;o=0;break};case 3855:{c[f+(l<<2)+44>>2]=37;o=0;break};case 2827:{c[f+(l<<2)+44>>2]=33;o=0;break};case 2056:{p=c[j>>2]|0;if((p|0)==2){c[f+(l<<2)+84>>2]=57;o=2;break a}else if((p|0)==0){c[f+(l<<2)+44>>2]=55;o=0;break a}else if((p|0)==1){c[f+(l<<2)+44>>2]=56;o=1;break a}else{c[(c[a>>2]|0)+20>>2]=49;qd[c[c[a>>2]>>2]&255](a);break a}};case 516:{c[f+(l<<2)+44>>2]=53;o=0;break};case 1290:{c[f+(l<<2)+44>>2]=50;o=0;break};case 3078:{c[f+(l<<2)+44>>2]=41;o=0;break};case 513:{c[f+(l<<2)+44>>2]=46;o=0;break};case 3591:{c[f+(l<<2)+44>>2]=40;o=0;break};case 4112:{c[f+(l<<2)+44>>2]=38;o=0;break};case 771:{c[f+(l<<2)+44>>2]=26;o=0;break};case 2313:{c[f+(l<<2)+44>>2]=31;o=0;break};case 1542:{c[f+(l<<2)+44>>2]=29;o=0;break};case 1548:{c[f+(l<<2)+44>>2]=49;o=0;break};case 2052:{c[f+(l<<2)+44>>2]=43;o=0;break};case 1539:{c[f+(l<<2)+44>>2]=44;o=0;break};case 1806:{c[f+(l<<2)+44>>2]=48;o=0;break};default:{c[(c[a>>2]|0)+20>>2]=7;c[(c[a>>2]|0)+24>>2]=c[q>>2];c[(c[a>>2]|0)+28>>2]=c[p>>2];qd[c[c[a>>2]>>2]&255](a)}}while(0);p=c[d+16>>2]|0;if(!((p|0)<0|(p|0)>3)?(n=c[a+(p<<2)+88>>2]|0,(n|0)!=0):0)p=n;else{c[(c[a>>2]|0)+20>>2]=54;c[(c[a>>2]|0)+24>>2]=p;qd[c[c[a>>2]>>2]&255](a);p=c[a+(p<<2)+88>>2]|0}if((o|0)==2){s=c[d+84>>2]|0;r=d+52|0;u=0;q=0;while(1){if((q|0)>=8)break;t=1568+(q<<3)|0;v=0;while(1){if((v|0)>=8)break;g[s+(u<<2)>>2]=1.0/(+(e[p+(u<<1)>>1]|0)*+h[t>>3]*+h[1568+(v<<3)>>3]*((c[r>>2]|0)!=0?16.0:8.0));u=u+1|0;v=v+1|0}q=q+1|0}c[f+(l<<2)+4>>2]=61}else if((o|0)==0){q=c[d+84>>2]|0;r=d+52|0;s=0;while(1){if((s|0)>=64)break;c[q+(s<<2)>>2]=e[p+(s<<1)>>1]<<((c[r>>2]|0)!=0?4:3);s=s+1|0}c[f+(l<<2)+4>>2]=60}else if((o|0)==1){r=c[d+84>>2]|0;s=d+52|0;q=0;while(1){if((q|0)>=64)break;u=da(e[p+(q<<1)>>1]|0,b[1440+(q<<1)>>1]|0)|0;v=(c[s>>2]|0)!=0;c[r+(q<<2)>>2]=u+(v?512:1024)>>(v?10:11);q=q+1|0}c[f+(l<<2)+4>>2]=60}else{c[(c[a>>2]|0)+20>>2]=49;qd[c[c[a>>2]>>2]&255](a)}l=l+1|0;d=d+88|0}i=m;return}function ne(a,d,e,f,g,h,j){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0;l=i;i=i+256|0;k=l;m=c[(c[a+420>>2]|0)+44+(c[d+4>>2]<<2)>>2]|0;a=c[d+84>>2]|0;e=e+(g<<2)|0;d=d+36|0;g=0;while(1){if(!(g>>>0<j>>>0))break;wd[m&127](k,e,h);n=0;while(1){if((n|0)>=64)break;o=c[a+(n<<2)>>2]|0;q=c[k+(n<<2)>>2]|0;p=o>>1;if((q|0)>=0){p=q+p|0;if((p|0)<(o|0))o=0;else o=(p|0)/(o|0)|0}else{p=p-q|0;if((p|0)<(o|0))o=0;else o=(p|0)/(o|0)|0;o=0-o|0}b[f+(g<<7)+(n<<1)>>1]=o;n=n+1|0}g=g+1|0;h=h+(c[d>>2]|0)|0}i=l;return}function oe(a,d,e,f,h,j,k){a=a|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0;m=i;i=i+256|0;l=m;a=c[(c[a+420>>2]|0)+84+(c[d+4>>2]<<2)>>2]|0;n=c[d+84>>2]|0;h=e+(h<<2)|0;e=d+36|0;d=0;while(1){if(!(d>>>0<k>>>0))break;wd[a&127](l,h,j);o=0;while(1){if((o|0)>=64)break;b[f+(d<<7)+(o<<1)>>1]=~~(+g[l+(o<<2)>>2]*+g[n+(o<<2)>>2]+16384.5)+49152;o=o+1|0}d=d+1|0;j=j+(c[e>>2]|0)|0}i=m;return}function pe(a){a=a|0;var b=0,d=0,e=0;b=i;d=md[c[c[a+4>>2]>>2]&63](a,1,140)|0;c[a+424>>2]=d;c[d>>2]=61;e=0;while(1){if((e|0)>=4)break;c[d+(e<<2)+60>>2]=0;c[d+(e<<2)+44>>2]=0;c[d+(e<<2)+92>>2]=0;c[d+(e<<2)+76>>2]=0;e=e+1|0}if((c[a+268>>2]|0)==0){i=b;return}c[d+136>>2]=0;i=b;return}function qe(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;d=i;e=c[a+424>>2]|0;f=(b|0)==0;g=e+8|0;if(f)c[g>>2]=135;else c[g>>2]=134;do if((c[a+268>>2]|0)==0){b=e+4|0;if(f){c[b>>2]=49;break}else{c[b>>2]=48;break}}else{c[e+120>>2]=a;c[e+108>>2]=b;b=(c[a+364>>2]|0)==0;g=e+4|0;do if((c[a+372>>2]|0)==0)if(b){c[g>>2]=44;break}else{c[g>>2]=45;break}else{if(b){c[g>>2]=46;break}c[g>>2]=47;b=e+136|0;if((c[b>>2]|0)==0)c[b>>2]=md[c[c[a+4>>2]>>2]&63](a,1,1e3)|0}while(0);c[e+124>>2]=c[(c[a+296>>2]|0)+24>>2];c[e+128>>2]=0;c[e+132>>2]=0}while(0);b=a+292|0;k=a+364|0;l=a+372|0;j=a+4|0;g=a+368|0;h=0;while(1){if((h|0)>=(c[b>>2]|0))break;m=c[a+(h<<2)+296>>2]|0;if((c[k>>2]|0)==0?(c[l>>2]|0)==0:0){n=c[m+20>>2]|0;if(f)ze(a,1,n,e+(n<<2)+44|0);else{if((n|0)<0|(n|0)>3){c[(c[a>>2]|0)+20>>2]=52;c[(c[a>>2]|0)+24>>2]=n;qd[c[c[a>>2]>>2]&255](a)}o=e+(n<<2)+76|0;n=c[o>>2]|0;if((n|0)==0){n=md[c[c[j>>2]>>2]&63](a,1,1028)|0;c[o>>2]=n}st(n|0,0,1028)|0}c[e+(h<<2)+20>>2]=0}do if((c[g>>2]|0)!=0){m=c[m+24>>2]|0;if(f){ze(a,0,m,e+(m<<2)+60|0);break}if((m|0)<0|(m|0)>3){c[(c[a>>2]|0)+20>>2]=52;c[(c[a>>2]|0)+24>>2]=m;qd[c[c[a>>2]>>2]&255](a)}m=e+(m<<2)+92|0;n=c[m>>2]|0;if((n|0)==0){n=md[c[c[j>>2]>>2]&63](a,1,1028)|0;c[m>>2]=n}st(n|0,0,1028)|0}while(0);h=h+1|0}c[e+12>>2]=0;c[e+16>>2]=0;c[e+36>>2]=c[a+236>>2];c[e+40>>2]=0;i=d;return}function re(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;n=i;i=i+32|0;f=n+16|0;d=n;e=c[a+424>>2]|0;if((c[a+268>>2]|0)!=0)Ce(e);c[f+0>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[d+0>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;p=a+292|0;b=a+364|0;o=a+372|0;m=a+4|0;l=a+368|0;q=0;while(1){if((q|0)>=(c[p>>2]|0))break;r=c[a+(q<<2)+296>>2]|0;if(((c[b>>2]|0)==0?(c[o>>2]|0)==0:0)?(j=c[r+20>>2]|0,k=f+(j<<2)|0,(c[k>>2]|0)==0):0){s=a+(j<<2)+120|0;t=c[s>>2]|0;if((t|0)==0){t=md[c[c[m>>2]>>2]&63](a,0,280)|0;c[t+276>>2]=0;c[s>>2]=t}Ee(a,t,c[e+(j<<2)+76>>2]|0);c[k>>2]=1}if((c[l>>2]|0)!=0?(g=c[r+24>>2]|0,h=d+(g<<2)|0,(c[h>>2]|0)==0):0){r=a+(g<<2)+136|0;s=c[r>>2]|0;if((s|0)==0){s=md[c[c[m>>2]>>2]&63](a,0,280)|0;c[s+276>>2]=0;c[r>>2]=s}Ee(a,s,c[e+(g<<2)+92>>2]|0);c[h>>2]=1}q=q+1|0}i=n;return}function se(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;i=i+48|0;e=b;f=c[a+424>>2]|0;d=a+24|0;h=c[d>>2]|0;g=c[h>>2]|0;if((c[a+268>>2]|0)!=0){e=f+112|0;c[e>>2]=g;h=f+116|0;c[h>>2]=c[(c[d>>2]|0)+4>>2];Ce(f);De(f,127,7);c[f+12>>2]=0;c[f+16>>2]=0;c[c[d>>2]>>2]=c[e>>2];c[(c[d>>2]|0)+4>>2]=c[h>>2];i=b;return}c[e>>2]=g;g=e+4|0;c[g>>2]=c[h+4>>2];h=e+8|0;f=f+12|0;c[h+0>>2]=c[f+0>>2];c[h+4>>2]=c[f+4>>2];c[h+8>>2]=c[f+8>>2];c[h+12>>2]=c[f+12>>2];c[h+16>>2]=c[f+16>>2];c[h+20>>2]=c[f+20>>2];c[e+32>>2]=a;if((Ae(e,127,7)|0)==0){c[(c[a>>2]|0)+20>>2]=25;qd[c[c[a>>2]>>2]&255](a)}else{c[e+8>>2]=0;c[e+12>>2]=0}c[c[d>>2]>>2]=c[e>>2];c[(c[d>>2]|0)+4>>2]=c[g>>2];c[f+0>>2]=c[h+0>>2];c[f+4>>2]=c[h+4>>2];c[f+8>>2]=c[h+8>>2];c[f+12>>2]=c[h+12>>2];c[f+16>>2]=c[h+16>>2];c[f+20>>2]=c[h+20>>2];i=b;return}function te(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;f=i;g=c[d+424>>2]|0;j=d+24|0;c[g+112>>2]=c[c[j>>2]>>2];k=g+116|0;c[k>>2]=c[(c[j>>2]|0)+4>>2];l=d+236|0;if((c[l>>2]|0)!=0?(c[g+36>>2]|0)==0:0)Be(g,c[g+40>>2]|0);o=d+320|0;n=d+376|0;m=g+108|0;h=0;while(1){if((h|0)>=(c[o>>2]|0))break;s=c[d+(h<<2)+324>>2]|0;p=c[(c[d+(s<<2)+296>>2]|0)+20>>2]|0;r=b[c[e+(h<<2)>>2]>>1]>>c[n>>2];s=g+(s<<2)+20|0;q=r-(c[s>>2]|0)|0;c[s>>2]=r;if((q|0)<0){r=0-q|0;q=q+ -1|0}else r=q;s=0;while(1){if((r|0)==0)break;s=s+1|0;r=r>>1}if((s|0)>11){c[(c[d>>2]|0)+20>>2]=6;qd[c[c[d>>2]>>2]&255](d)}if((c[m>>2]|0)==0){r=c[g+(p<<2)+44>>2]|0;De(g,c[r+(s<<2)>>2]|0,a[r+s+1024>>0]|0)}else{r=(c[g+(p<<2)+76>>2]|0)+(s<<2)|0;c[r>>2]=(c[r>>2]|0)+1}if((s|0)!=0)De(g,q,s);h=h+1|0}c[c[j>>2]>>2]=c[g+112>>2];c[(c[j>>2]|0)+4>>2]=c[k>>2];j=c[l>>2]|0;if((j|0)==0){i=f;return 1}h=g+36|0;k=c[h>>2]|0;if((k|0)==0){c[h>>2]=j;s=g+40|0;c[s>>2]=(c[s>>2]|0)+1&7}else j=k;c[h>>2]=j+ -1;i=f;return 1}function ue(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;f=i;g=c[d+424>>2]|0;h=d+24|0;c[g+112>>2]=c[c[h>>2]>>2];j=g+116|0;c[j>>2]=c[(c[h>>2]|0)+4>>2];k=d+236|0;if((c[k>>2]|0)!=0?(c[g+36>>2]|0)==0:0)Be(g,c[g+40>>2]|0);m=c[d+368>>2]|0;n=c[d+376>>2]|0;l=c[d+384>>2]|0;q=c[e>>2]|0;o=g+128|0;e=g+124|0;r=g+108|0;t=0;p=c[d+364>>2]|0;while(1){if((p|0)>(m|0))break;u=b[q+(c[l+(p<<2)>>2]<<1)>>1]|0;s=u<<16>>16;do if(u<<16>>16==0)t=t+1|0;else{if(u<<16>>16<0){v=0-s>>n;s=~v}else{v=s>>n;s=v}if((v|0)==0){t=t+1|0;break}if((c[o>>2]|0)!=0)Ce(g);while(1){if((t|0)<=15){u=1;break}u=c[e>>2]|0;if((c[r>>2]|0)==0){u=c[g+(u<<2)+60>>2]|0;De(g,c[u+960>>2]|0,a[u+1264>>0]|0)}else{u=(c[g+(u<<2)+92>>2]|0)+960|0;c[u>>2]=(c[u>>2]|0)+1}t=t+ -16|0}while(1){v=v>>1;if((v|0)==0)break;u=u+1|0}if((u|0)>10){c[(c[d>>2]|0)+20>>2]=6;qd[c[c[d>>2]>>2]&255](d)}v=c[e>>2]|0;t=(t<<4)+u|0;if((c[r>>2]|0)==0){v=c[g+(v<<2)+60>>2]|0;De(g,c[v+(t<<2)>>2]|0,a[v+t+1024>>0]|0)}else{v=(c[g+(v<<2)+92>>2]|0)+(t<<2)|0;c[v>>2]=(c[v>>2]|0)+1}De(g,s,u);t=0}while(0);p=p+1|0}if((t|0)>0?(v=(c[o>>2]|0)+1|0,c[o>>2]=v,(v|0)==32767):0)Ce(g);c[c[h>>2]>>2]=c[g+112>>2];c[(c[h>>2]|0)+4>>2]=c[j>>2];h=c[k>>2]|0;if((h|0)==0){i=f;return 1}d=g+36|0;j=c[d>>2]|0;if((j|0)==0){c[d>>2]=h;v=g+40|0;c[v>>2]=(c[v>>2]|0)+1&7}else h=j;c[d>>2]=h+ -1;i=f;return 1}function ve(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;f=c[a+424>>2]|0;g=a+24|0;c[f+112>>2]=c[c[g>>2]>>2];h=f+116|0;c[h>>2]=c[(c[g>>2]|0)+4>>2];j=a+236|0;if((c[j>>2]|0)!=0?(c[f+36>>2]|0)==0:0)Be(f,c[f+40>>2]|0);k=c[a+376>>2]|0;a=a+320|0;l=0;while(1){if((l|0)>=(c[a>>2]|0))break;De(f,b[c[d+(l<<2)>>2]>>1]>>k,1);l=l+1|0}c[c[g>>2]>>2]=c[f+112>>2];c[(c[g>>2]|0)+4>>2]=c[h>>2];g=c[j>>2]|0;if((g|0)==0){i=e;return 1}d=f+36|0;h=c[d>>2]|0;if((h|0)==0){c[d>>2]=g;l=f+40|0;c[l>>2]=(c[l>>2]|0)+1&7}else g=h;c[d>>2]=g+ -1;i=e;return 1}function we(d,f){d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;g=i;i=i+256|0;m=g;h=c[d+424>>2]|0;n=d+24|0;c[h+112>>2]=c[c[n>>2]>>2];k=h+116|0;c[k>>2]=c[(c[n>>2]|0)+4>>2];l=d+236|0;if((c[l>>2]|0)!=0?(c[h+36>>2]|0)==0:0)Be(h,c[h+40>>2]|0);j=c[d+368>>2]|0;p=c[d+376>>2]|0;o=c[d+384>>2]|0;f=c[f>>2]|0;t=c[d+364>>2]|0;d=0;q=t;while(1){if((q|0)>(j|0))break;y=b[f+(c[o+(q<<2)>>2]<<1)>>1]|0;z=y<<16>>16;z=(y<<16>>16<0?0-z|0:z)>>p;c[m+(q<<2)>>2]=z;d=(z|0)==1?q:d;q=q+1|0}p=h+136|0;s=h+132|0;r=h+124|0;q=h+108|0;u=0;x=(c[p>>2]|0)+(c[s>>2]|0)|0;y=0;while(1){if((t|0)>(j|0))break;w=c[m+(t<<2)>>2]|0;do if((w|0)==0)y=y+1|0;else{v=(t|0)<=(d|0);while(1){if(!((y|0)>15&v))break;Ce(h);z=c[r>>2]|0;if((c[q>>2]|0)==0){z=c[h+(z<<2)+60>>2]|0;De(h,c[z+960>>2]|0,a[z+1264>>0]|0)}else{z=(c[h+(z<<2)+92>>2]|0)+960|0;c[z>>2]=(c[z>>2]|0)+1}y=y+ -16|0;a:do if((c[q>>2]|0)==0)while(1){if((u|0)==0)break a;De(h,a[x>>0]|0,1);x=x+1|0;u=u+ -1|0}while(0);u=0;x=c[p>>2]|0}if((w|0)>1){a[x+u>>0]=w&1;u=u+1|0;break}Ce(h);v=c[r>>2]|0;w=y<<4|1;if((c[q>>2]|0)==0){z=c[h+(v<<2)+60>>2]|0;De(h,c[z+(w<<2)>>2]|0,a[z+w+1024>>0]|0)}else{z=(c[h+(v<<2)+92>>2]|0)+(w<<2)|0;c[z>>2]=(c[z>>2]|0)+1}De(h,(e[f+(c[o+(t<<2)>>2]<<1)>>1]|0)>>>15&65535^1,1);b:do if((c[q>>2]|0)==0)while(1){if((u|0)==0)break b;De(h,a[x>>0]|0,1);x=x+1|0;u=u+ -1|0}while(0);u=0;x=c[p>>2]|0;y=0}while(0);t=t+1|0}if(!((y|0)<=0&(u|0)==0)?(z=h+128|0,y=(c[z>>2]|0)+1|0,c[z>>2]=y,z=(c[s>>2]|0)+u|0,c[s>>2]=z,(y|0)==32767|z>>>0>937):0)Ce(h);c[c[n>>2]>>2]=c[h+112>>2];c[(c[n>>2]|0)+4>>2]=c[k>>2];k=c[l>>2]|0;if((k|0)==0){i=g;return 1}j=h+36|0;l=c[j>>2]|0;if((l|0)==0){c[j>>2]=k;z=h+40|0;c[z>>2]=(c[z>>2]|0)+1&7}else k=l;c[j>>2]=k+ -1;i=g;return 1}function xe(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;f=i;e=c[a+424>>2]|0;h=a+236|0;if((c[h>>2]|0)!=0){g=e+36|0;j=c[g>>2]|0;if((j|0)==0){k=a+292|0;j=0;while(1){if((j|0)>=(c[k>>2]|0))break;c[e+(j<<2)+20>>2]=0;j=j+1|0}j=c[h>>2]|0;c[g>>2]=j}c[g>>2]=j+ -1}m=a+320|0;k=a+388|0;l=a+384|0;n=0;while(1){if((n|0)>=(c[m>>2]|0))break;p=c[a+(n<<2)+324>>2]|0;o=c[a+(p<<2)+296>>2]|0;q=d+(n<<2)|0;g=c[q>>2]|0;p=e+(p<<2)+20|0;u=c[e+(c[o+20>>2]<<2)+76>>2]|0;o=c[e+(c[o+24>>2]<<2)+92>>2]|0;j=c[k>>2]|0;h=c[l>>2]|0;s=(b[g>>1]|0)-(c[p>>2]|0)|0;v=(s|0)<0;w=0-s|0;r=v?w:s;t=0;s=v?w:s;while(1){if((r|0)==0)break;w=s>>1;r=w;t=t+1|0;s=w}if((t|0)>11){c[(c[a>>2]|0)+20>>2]=6;qd[c[c[a>>2]>>2]&255](a)}s=u+(t<<2)|0;c[s>>2]=(c[s>>2]|0)+1;s=o+960|0;u=0;r=1;while(1){if((r|0)>(j|0))break;w=b[g+(c[h+(r<<2)>>2]<<1)>>1]|0;v=w<<16>>16;if(w<<16>>16==0)u=u+1|0;else{while(1){if((u|0)<=15)break;c[s>>2]=(c[s>>2]|0)+1;u=u+ -16|0}t=1;v=w<<16>>16<0?0-v|0:v;while(1){v=v>>1;if((v|0)==0)break;t=t+1|0}if((t|0)>10){c[(c[a>>2]|0)+20>>2]=6;qd[c[c[a>>2]>>2]&255](a)}u=o+((u<<4)+t<<2)|0;c[u>>2]=(c[u>>2]|0)+1;u=0}r=r+1|0}if((u|0)>0)c[o>>2]=(c[o>>2]|0)+1;c[p>>2]=b[c[q>>2]>>1];n=n+1|0}i=f;return 1}function ye(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;f=i;i=i+48|0;h=f;g=c[d+424>>2]|0;k=d+24|0;m=c[k>>2]|0;c[h>>2]=c[m>>2];j=h+4|0;c[j>>2]=c[m+4>>2];m=h+8|0;n=g+12|0;c[m+0>>2]=c[n+0>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2];c[m+16>>2]=c[n+16>>2];c[m+20>>2]=c[n+20>>2];o=h+32|0;c[o>>2]=d;l=d+236|0;a:do if((c[l>>2]|0)!=0?(c[g+36>>2]|0)==0:0){p=c[g+40>>2]|0;if((Ae(h,127,7)|0)==0){D=0;i=f;return D|0}c[h+8>>2]=0;c[h+12>>2]=0;D=c[h>>2]|0;q=D+1|0;c[h>>2]=q;a[D>>0]=-1;D=(c[j>>2]|0)+ -1|0;c[j>>2]=D;do if((D|0)==0){D=c[o>>2]|0;q=c[D+24>>2]|0;if((ud[c[q+12>>2]&127](D)|0)==0){D=0;i=f;return D|0}else{D=c[q>>2]|0;c[h>>2]=D;c[j>>2]=c[q+4>>2];q=D;break}}while(0);c[h>>2]=q+1;a[q>>0]=p+208;D=(c[j>>2]|0)+ -1|0;c[j>>2]=D;do if((D|0)==0){D=c[o>>2]|0;p=c[D+24>>2]|0;if((ud[c[p+12>>2]&127](D)|0)==0){D=0;i=f;return D|0}else{c[h>>2]=c[p>>2];c[j>>2]=c[p+4>>2];p=0;break}}else p=0;while(0);while(1){if((p|0)>=(c[(c[o>>2]|0)+292>>2]|0))break a;c[h+(p<<2)+16>>2]=0;p=p+1|0}}while(0);p=d+320|0;q=0;b:while(1){if((q|0)>=(c[p>>2]|0)){o=44;break}v=c[d+(q<<2)+324>>2]|0;u=c[d+(v<<2)+296>>2]|0;w=e+(q<<2)|0;t=c[w>>2]|0;v=h+(v<<2)+16|0;x=c[g+(c[u+20>>2]<<2)+44>>2]|0;u=c[g+(c[u+24>>2]<<2)+60>>2]|0;y=c[o>>2]|0;r=c[y+388>>2]|0;s=c[y+384>>2]|0;z=(b[t>>1]|0)-(c[v>>2]|0)|0;if((z|0)<0){B=0-z|0;z=z+ -1|0}else B=z;A=0;while(1){if((B|0)==0)break;A=A+1|0;B=B>>1}if((A|0)>11){c[(c[y>>2]|0)+20>>2]=6;qd[c[c[y>>2]>>2]&255](y)}if((Ae(h,c[x+(A<<2)>>2]|0,a[x+A+1024>>0]|0)|0)==0){g=0;o=48;break}if((A|0)!=0?(Ae(h,z,A)|0)==0:0){g=0;o=48;break}x=u+960|0;z=u+1264|0;A=0;y=1;while(1){if((y|0)>(r|0))break;C=b[t+(c[s+(y<<2)>>2]<<1)>>1]|0;B=C<<16>>16;if(!(C<<16>>16==0)){while(1){if((A|0)<=15)break;if((Ae(h,c[x>>2]|0,a[z>>0]|0)|0)==0){g=0;o=48;break b}A=A+ -16|0}if(C<<16>>16<0){D=0-B|0;C=B+ -1|0}else{D=B;C=B}B=1;while(1){D=D>>1;if((D|0)==0)break;B=B+1|0}if((B|0)>10){D=c[o>>2]|0;c[(c[D>>2]|0)+20>>2]=6;qd[c[c[D>>2]>>2]&255](D)}D=(A<<4)+B|0;if((Ae(h,c[u+(D<<2)>>2]|0,a[u+D+1024>>0]|0)|0)==0){g=0;o=48;break b}if((Ae(h,C,B)|0)==0){g=0;o=48;break b}else A=0}else A=A+1|0;y=y+1|0}if((A|0)>0?(Ae(h,c[u>>2]|0,a[u+1024>>0]|0)|0)==0:0){g=0;o=48;break}c[v>>2]=b[c[w>>2]>>1];q=q+1|0}if((o|0)==44){c[c[k>>2]>>2]=c[h>>2];c[(c[k>>2]|0)+4>>2]=c[j>>2];c[n+0>>2]=c[m+0>>2];c[n+4>>2]=c[m+4>>2];c[n+8>>2]=c[m+8>>2];c[n+12>>2]=c[m+12>>2];c[n+16>>2]=c[m+16>>2];c[n+20>>2]=c[m+20>>2];j=c[l>>2]|0;if((j|0)==0){D=1;i=f;return D|0}h=g+36|0;k=c[h>>2]|0;if((k|0)==0){c[h>>2]=j;D=g+40|0;c[D>>2]=(c[D>>2]|0)+1&7}else j=k;c[h>>2]=j+ -1;D=1;i=f;return D|0}else if((o|0)==48){i=f;return g|0}return 0}function ze(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;l=i;i=i+1296|0;k=l+1028|0;j=l;if((f|0)<0|(f|0)>3){c[(c[b>>2]|0)+20>>2]=52;c[(c[b>>2]|0)+24>>2]=f;qd[c[c[b>>2]>>2]&255](b)}if((e|0)==0)m=b+(f<<2)+136|0;else m=b+(f<<2)+120|0;m=c[m>>2]|0;if((m|0)==0){c[(c[b>>2]|0)+20>>2]=52;c[(c[b>>2]|0)+24>>2]=f;qd[c[c[b>>2]>>2]&255](b)}f=c[g>>2]|0;if((f|0)==0){f=md[c[c[b+4>>2]>>2]&63](b,1,1280)|0;c[g>>2]=f;g=b}else g=b;n=0;o=1;while(1){if((o|0)>=17)break;p=d[m+o>>0]|0;if((n+p|0)>256){c[(c[b>>2]|0)+20>>2]=9;qd[c[c[b>>2]>>2]&255](g)}while(1){if((p|0)==0)break;a[k+n>>0]=o;p=p+ -1|0;n=n+1|0}o=o+1|0}a[k+n>>0]=0;o=a[k>>0]|0;p=o;q=0;r=0;o=o<<24>>24;while(1){if(p<<24>>24==0)break;while(1){if((p<<24>>24|0)!=(o|0))break;s=r+1|0;c[j+(r<<2)>>2]=q;p=a[k+s>>0]|0;q=q+1|0;r=s}if((q|0)>=(1<<o|0)){c[(c[b>>2]|0)+20>>2]=9;qd[c[c[b>>2]>>2]&255](g)}q=q<<1;o=o+1|0}st(f+1024|0,0,256)|0;p=(e|0)!=0?15:255;o=0;while(1){if((o|0)>=(n|0))break;e=d[m+o+17>>0]|0;q=f+e+1024|0;if(!(!(e>>>0>p>>>0)?(a[q>>0]|0)==0:0))h=29;if((h|0)==29){h=0;c[(c[b>>2]|0)+20>>2]=9;qd[c[c[b>>2]>>2]&255](g)}c[f+(e<<2)>>2]=c[j+(o<<2)>>2];a[q>>0]=a[k+o>>0]|0;o=o+1|0}i=l;return}function Ae(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;f=i;k=b+32|0;if((e|0)==0){c[(c[c[k>>2]>>2]|0)+20>>2]=41;m=c[k>>2]|0;qd[c[c[m>>2]>>2]&255](m)}h=b+12|0;m=(c[h>>2]|0)+e|0;j=b+8|0;l=b+4|0;g=m;d=((1<<e)+ -1&d)<<24-m|c[j>>2];while(1){if((g|0)<=7){b=13;break}n=d>>>16;e=n&255;m=c[b>>2]|0;c[b>>2]=m+1;a[m>>0]=n;m=(c[l>>2]|0)+ -1|0;c[l>>2]=m;if((m|0)==0){n=c[k>>2]|0;m=c[n+24>>2]|0;if((ud[c[m+12>>2]&127](n)|0)==0){g=0;b=14;break}c[b>>2]=c[m>>2];c[l>>2]=c[m+4>>2]}if((e|0)==255?(n=c[b>>2]|0,c[b>>2]=n+1,a[n>>0]=0,n=(c[l>>2]|0)+ -1|0,c[l>>2]=n,(n|0)==0):0){n=c[k>>2]|0;e=c[n+24>>2]|0;if((ud[c[e+12>>2]&127](n)|0)==0){g=0;b=14;break}c[b>>2]=c[e>>2];c[l>>2]=c[e+4>>2]}g=g+ -8|0;d=d<<8}if((b|0)==13){c[j>>2]=d;c[h>>2]=g;n=1;i=f;return n|0}else if((b|0)==14){i=f;return g|0}return 0}function Be(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;Ce(b);if((c[b+108>>2]|0)==0){De(b,127,7);c[b+12>>2]=0;c[b+16>>2]=0;f=b+112|0;g=c[f>>2]|0;c[f>>2]=g+1;a[g>>0]=-1;g=b+116|0;j=(c[g>>2]|0)+ -1|0;c[g>>2]=j;if((j|0)==0){h=b+120|0;k=c[h>>2]|0;j=c[k+24>>2]|0;if((ud[c[j+12>>2]&127](k)|0)==0){c[(c[c[h>>2]>>2]|0)+20>>2]=25;k=c[h>>2]|0;qd[c[c[k>>2]>>2]&255](k)}h=c[j>>2]|0;c[f>>2]=h;c[g>>2]=c[j+4>>2]}else h=c[f>>2]|0;c[f>>2]=h+1;a[h>>0]=d+208;k=(c[g>>2]|0)+ -1|0;c[g>>2]=k;if((k|0)==0){h=b+120|0;k=c[h>>2]|0;d=c[k+24>>2]|0;if((ud[c[d+12>>2]&127](k)|0)==0){c[(c[c[h>>2]>>2]|0)+20>>2]=25;k=c[h>>2]|0;qd[c[c[k>>2]>>2]&255](k)}c[f>>2]=c[d>>2];c[g>>2]=c[d+4>>2]}}f=b+120|0;d=c[f>>2]|0;if((c[d+364>>2]|0)==0)g=0;else{c[b+128>>2]=0;c[b+132>>2]=0;i=e;return}while(1){if((g|0)>=(c[d+292>>2]|0))break;c[b+(g<<2)+20>>2]=0;d=c[f>>2]|0;g=g+1|0}i=e;return}function Ce(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;e=b+128|0;g=c[e>>2]|0;if((g|0)==0){i=d;return}else f=0;while(1){g=g>>1;if((g|0)==0)break;f=f+1|0}if((f|0)>14){j=b+120|0;c[(c[c[j>>2]>>2]|0)+20>>2]=41;j=c[j>>2]|0;qd[c[c[j>>2]>>2]&255](j)}j=c[b+124>>2]|0;h=f<<4;g=b+108|0;if((c[g>>2]|0)==0){j=c[b+(j<<2)+60>>2]|0;De(b,c[j+(h<<2)>>2]|0,a[j+h+1024>>0]|0)}else{j=(c[b+(j<<2)+92>>2]|0)+(h<<2)|0;c[j>>2]=(c[j>>2]|0)+1}if((f|0)!=0)De(b,c[e>>2]|0,f);c[e>>2]=0;e=b+132|0;a:do if((c[g>>2]|0)==0){g=c[b+136>>2]|0;f=c[e>>2]|0;while(1){if((f|0)==0)break a;De(b,a[g>>0]|0,1);g=g+1|0;f=f+ -1|0}}while(0);c[e>>2]=0;i=d;return}function De(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;f=i;if((e|0)==0){m=b+120|0;c[(c[c[m>>2]>>2]|0)+20>>2]=41;m=c[m>>2]|0;qd[c[c[m>>2]>>2]&255](m)}if((c[b+108>>2]|0)!=0){i=f;return}g=b+16|0;m=(c[g>>2]|0)+e|0;k=b+12|0;j=b+112|0;h=b+116|0;l=b+120|0;b=m;e=((1<<e)+ -1&d)<<24-m|c[k>>2];while(1){if((b|0)<=7)break;n=e>>>16;d=n&255;m=c[j>>2]|0;c[j>>2]=m+1;a[m>>0]=n;m=(c[h>>2]|0)+ -1|0;c[h>>2]=m;if((m|0)==0){n=c[l>>2]|0;m=c[n+24>>2]|0;if((ud[c[m+12>>2]&127](n)|0)==0){c[(c[c[l>>2]>>2]|0)+20>>2]=25;n=c[l>>2]|0;qd[c[c[n>>2]>>2]&255](n)}c[j>>2]=c[m>>2];c[h>>2]=c[m+4>>2]}if((d|0)==255?(n=c[j>>2]|0,c[j>>2]=n+1,a[n>>0]=0,n=(c[h>>2]|0)+ -1|0,c[h>>2]=n,(n|0)==0):0){n=c[l>>2]|0;d=c[n+24>>2]|0;if((ud[c[d+12>>2]&127](n)|0)==0){c[(c[c[l>>2]>>2]|0)+20>>2]=25;n=c[l>>2]|0;qd[c[c[n>>2]>>2]&255](n)}c[j>>2]=c[d>>2];c[h>>2]=c[d+4>>2]}b=b+ -8|0;e=e<<8}c[k>>2]=e;c[g>>2]=b;i=f;return}function Ee(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;h=i;i=i+2096|0;j=h+2056|0;g=h+1028|0;k=h;m=j+0|0;l=m+33|0;do{a[m>>0]=0;m=m+1|0}while((m|0)<(l|0));st(g|0,0,1028)|0;l=0;while(1){if((l|0)>=257)break;c[k+(l<<2)>>2]=-1;l=l+1|0}c[f+1024>>2]=1;m=-1;l=0;n=1e9;a:while(1){if((l|0)<257){o=c[f+(l<<2)>>2]|0;p=(o|0)==0|(o|0)>(n|0);m=p?m:l;l=l+1|0;n=p?n:o;continue}else{l=-1;o=0;n=1e9}while(1){if((o|0)>=257)break;p=c[f+(o<<2)>>2]|0;q=(p|0)==0|(p|0)>(n|0)|(o|0)==(m|0);l=q?l:o;o=o+1|0;n=q?n:p}if((l|0)<0)break;q=f+(l<<2)|0;p=f+(m<<2)|0;c[p>>2]=(c[p>>2]|0)+(c[q>>2]|0);c[q>>2]=0;q=g+(m<<2)|0;c[q>>2]=(c[q>>2]|0)+1;while(1){n=k+(m<<2)|0;m=c[n>>2]|0;if(!((m|0)>-1))break;q=g+(m<<2)|0;c[q>>2]=(c[q>>2]|0)+1}c[n>>2]=l;q=g+(l<<2)|0;c[q>>2]=(c[q>>2]|0)+1;while(1){l=c[k+(l<<2)>>2]|0;if(!((l|0)>-1)){m=-1;l=0;n=1e9;continue a}q=g+(l<<2)|0;c[q>>2]=(c[q>>2]|0)+1}}f=0;while(1){if((f|0)>=257){f=32;break}k=c[g+(f<<2)>>2]|0;if((k|0)!=0){if((k|0)>32){c[(c[b>>2]|0)+20>>2]=40;qd[c[c[b>>2]>>2]&255](b)}q=j+k|0;a[q>>0]=(a[q>>0]|0)+1<<24>>24}f=f+1|0}b:while(1){if((f|0)<=16)break;b=j+f|0;k=f+ -2|0;f=f+ -1|0;l=j+f|0;while(1){m=a[b>>0]|0;if(m<<24>>24==0)continue b;else n=k;while(1){o=j+n|0;if((a[o>>0]|0)!=0)break;n=n+ -1|0}a[b>>0]=(m&255)+254;a[l>>0]=(a[l>>0]|0)+1<<24>>24;q=j+(n+1)|0;a[q>>0]=(d[q>>0]|0)+2;a[o>>0]=(a[o>>0]|0)+ -1<<24>>24}}while(1){k=j+f|0;b=a[k>>0]|0;if(!(b<<24>>24==0))break;f=f+ -1|0}a[k>>0]=b+ -1<<24>>24;m=e+0|0;j=j+0|0;l=m+17|0;do{a[m>>0]=a[j>>0]|0;m=m+1|0;j=j+1|0}while((m|0)<(l|0));k=0;j=1;while(1){if((j|0)<33)b=0;else break;while(1){if((b|0)>=256)break;if((c[g+(b<<2)>>2]|0)==(j|0)){a[e+k+17>>0]=b;k=k+1|0}b=b+1|0}j=j+1|0}c[e+276>>2]=0;i=h;return}function Fe(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;d=i;i=i+2608|0;q=d+2560|0;r=d;g=b+72|0;if((c[g>>2]|0)!=8){c[(c[b>>2]|0)+20>>2]=16;c[(c[b>>2]|0)+24>>2]=c[g>>2];qd[c[c[b>>2]>>2]&255](b)}j=b+32|0;if(((c[j>>2]|0)!=0?(c[b+28>>2]|0)!=0:0)?(c[b+36>>2]|0)>=1:0)f=b;else{c[(c[b>>2]|0)+20>>2]=33;qd[c[c[b>>2]>>2]&255](b);f=b}e=b+4|0;n=md[c[c[e>>2]>>2]&63](f,1,36)|0;c[b+392>>2]=n;c[n>>2]=136;c[n+4>>2]=137;c[n+8>>2]=138;c[n+16>>2]=0;m=b+28|0;if(!(!((c[m>>2]|0)>>>0>16777215)?!((c[j>>2]|0)>>>0>16777215):0)){c[(c[b>>2]|0)+20>>2]=42;c[(c[b>>2]|0)+24>>2]=65500;qd[c[c[b>>2]>>2]&255](f)}k=c[b+56>>2]|0;h=c[b+380>>2]|0;l=da(c[b+60>>2]|0,h)|0;do if(k>>>0<l>>>0){if(!(k<<1>>>0<l>>>0)){c[b+64>>2]=((da(c[m>>2]|0,h)|0)+1|0)/2|0;c[b+68>>2]=((da(c[j>>2]|0,h)|0)+1|0)/2|0;c[b+280>>2]=2;c[b+284>>2]=2;break}if(!((k*3|0)>>>0<l>>>0)){c[b+64>>2]=((da(c[m>>2]|0,h)|0)+2|0)/3|0;c[b+68>>2]=((da(c[j>>2]|0,h)|0)+2|0)/3|0;c[b+280>>2]=3;c[b+284>>2]=3;break}if(!(k<<2>>>0<l>>>0)){c[b+64>>2]=((da(c[m>>2]|0,h)|0)+3|0)/4|0;c[b+68>>2]=((da(c[j>>2]|0,h)|0)+3|0)/4|0;c[b+280>>2]=4;c[b+284>>2]=4;break}if(!((k*5|0)>>>0<l>>>0)){c[b+64>>2]=((da(c[m>>2]|0,h)|0)+4|0)/5|0;c[b+68>>2]=((da(c[j>>2]|0,h)|0)+4|0)/5|0;c[b+280>>2]=5;c[b+284>>2]=5;break}if(!((k*6|0)>>>0<l>>>0)){c[b+64>>2]=((da(c[m>>2]|0,h)|0)+5|0)/6|0;c[b+68>>2]=((da(c[j>>2]|0,h)|0)+5|0)/6|0;c[b+280>>2]=6;c[b+284>>2]=6;break}if(!((k*7|0)>>>0<l>>>0)){c[b+64>>2]=((da(c[m>>2]|0,h)|0)+6|0)/7|0;c[b+68>>2]=((da(c[j>>2]|0,h)|0)+6|0)/7|0;c[b+280>>2]=7;c[b+284>>2]=7;break}if(!(k<<3>>>0<l>>>0)){c[b+64>>2]=((da(c[m>>2]|0,h)|0)+7|0)/8|0;c[b+68>>2]=((da(c[j>>2]|0,h)|0)+7|0)/8|0;c[b+280>>2]=8;c[b+284>>2]=8;break}if(!((k*9|0)>>>0<l>>>0)){c[b+64>>2]=((da(c[m>>2]|0,h)|0)+8|0)/9|0;c[b+68>>2]=((da(c[j>>2]|0,h)|0)+8|0)/9|0;c[b+280>>2]=9;c[b+284>>2]=9;break}if(!((k*10|0)>>>0<l>>>0)){c[b+64>>2]=((da(c[m>>2]|0,h)|0)+9|0)/10|0;c[b+68>>2]=((da(c[j>>2]|0,h)|0)+9|0)/10|0;c[b+280>>2]=10;c[b+284>>2]=10;break}if(!((k*11|0)>>>0<l>>>0)){c[b+64>>2]=((da(c[m>>2]|0,h)|0)+10|0)/11|0;c[b+68>>2]=((da(c[j>>2]|0,h)|0)+10|0)/11|0;c[b+280>>2]=11;c[b+284>>2]=11;break}if(!((k*12|0)>>>0<l>>>0)){c[b+64>>2]=((da(c[m>>2]|0,h)|0)+11|0)/12|0;c[b+68>>2]=((da(c[j>>2]|0,h)|0)+11|0)/12|0;c[b+280>>2]=12;c[b+284>>2]=12;break}if(!((k*13|0)>>>0<l>>>0)){c[b+64>>2]=((da(c[m>>2]|0,h)|0)+12|0)/13|0;c[b+68>>2]=((da(c[j>>2]|0,h)|0)+12|0)/13|0;c[b+280>>2]=13;c[b+284>>2]=13;break}if(!((k*14|0)>>>0<l>>>0)){c[b+64>>2]=((da(c[m>>2]|0,h)|0)+13|0)/14|0;c[b+68>>2]=((da(c[j>>2]|0,h)|0)+13|0)/14|0;c[b+280>>2]=14;c[b+284>>2]=14;break}m=da(c[m>>2]|0,h)|0;if((k*15|0)>>>0<l>>>0){c[b+64>>2]=(m+15|0)/16|0;c[b+68>>2]=((da(c[j>>2]|0,h)|0)+15|0)/16|0;c[b+280>>2]=16;c[b+284>>2]=16;break}else{c[b+64>>2]=(m+14|0)/15|0;c[b+68>>2]=((da(c[j>>2]|0,h)|0)+14|0)/15|0;c[b+280>>2]=15;c[b+284>>2]=15;break}}else{c[b+64>>2]=da(c[m>>2]|0,h)|0;c[b+68>>2]=da(c[j>>2]|0,h)|0;c[b+280>>2]=1;c[b+284>>2]=1}while(0);o=b+380|0;if((h|0)<1|(h|0)>16){c[(c[b>>2]|0)+20>>2]=7;c[(c[b>>2]|0)+24>>2]=c[o>>2];c[(c[b>>2]|0)+28>>2]=c[o>>2];qd[c[c[b>>2]>>2]&255](f);h=c[o>>2]|0}switch(h|0){case 2:{c[b+384>>2]=9624;s=52;break};case 3:{c[b+384>>2]=9520;s=52;break};case 4:{c[b+384>>2]=9392;s=52;break};case 5:{c[b+384>>2]=9224;s=52;break};case 6:{c[b+384>>2]=9016;s=52;break};case 7:{c[b+384>>2]=8752;s=52;break};default:{c[b+384>>2]=8432;if((h|0)<8)s=52;else h=63}}if((s|0)==52)h=(da(h,h)|0)+ -1|0;p=b+388|0;c[p>>2]=h;t=b+68|0;h=c[t>>2]|0;if(!(((h|0)!=0?(c[b+64>>2]|0)!=0:0)?(c[b+76>>2]|0)>=1:0)){c[(c[b>>2]|0)+20>>2]=33;qd[c[c[b>>2]>>2]&255](f);h=c[t>>2]|0}if(!((h|0)<=65500?(c[b+64>>2]|0)<=65500:0)){c[(c[b>>2]|0)+20>>2]=42;c[(c[b>>2]|0)+24>>2]=65500;qd[c[c[b>>2]>>2]&255](f)}J=c[g>>2]|0;if((J|0)<8|(J|0)>12){c[(c[b>>2]|0)+20>>2]=16;c[(c[b>>2]|0)+24>>2]=c[g>>2];qd[c[c[b>>2]>>2]&255](f)}h=b+76|0;if((c[h>>2]|0)>10){c[(c[b>>2]|0)+20>>2]=27;c[(c[b>>2]|0)+24>>2]=c[h>>2];c[(c[b>>2]|0)+28>>2]=10;qd[c[c[b>>2]>>2]&255](f)}j=b+272|0;c[j>>2]=1;g=b+276|0;c[g>>2]=1;m=b+84|0;u=1;l=0;k=c[m>>2]|0;while(1){w=c[h>>2]|0;if((l|0)>=(w|0))break;w=k+8|0;v=c[w>>2]|0;if(!(!((v|0)<1|(v|0)>4)?(J=c[k+12>>2]|0,!((J|0)<1|(J|0)>4)):0)){c[(c[b>>2]|0)+20>>2]=19;qd[c[c[b>>2]>>2]&255](f);v=c[w>>2]|0;u=c[j>>2]|0}u=(u|0)>(v|0)?u:v;c[j>>2]=u;I=c[g>>2]|0;J=c[k+12>>2]|0;c[g>>2]=(I|0)>(J|0)?I:J;l=l+1|0;k=k+88|0}l=b+280|0;v=b+224|0;k=b+284|0;u=b+64|0;y=w;x=0;w=c[m>>2]|0;while(1){if((x|0)>=(y|0))break;c[w+4>>2]=x;C=c[l>>2]|0;B=(c[v>>2]|0)!=0?8:4;y=w+8|0;A=1;while(1){z=da(C,A)|0;if((z|0)>(B|0))break;if(((c[j>>2]|0)%((da(c[y>>2]|0,A)|0)<<1|0)|0|0)!=0)break;A=A<<1}C=w+36|0;c[C>>2]=z;E=c[k>>2]|0;F=(c[v>>2]|0)!=0?8:4;A=w+12|0;D=1;while(1){B=da(E,D)|0;if((B|0)>(F|0))break;if(((c[g>>2]|0)%((da(c[A>>2]|0,D)|0)<<1|0)|0|0)!=0)break;D=D<<1}D=w+40|0;c[D>>2]=B;E=B<<1;if((z|0)<=(E|0)){C=z<<1;if((B|0)>(C|0)){c[D>>2]=C;B=C}}else{c[C>>2]=E;z=E}I=c[y>>2]|0;H=da(c[u>>2]|0,I)|0;J=da(c[j>>2]|0,c[o>>2]|0)|0;c[w+28>>2]=(H+J+ -1|0)/(J|0)|0;J=c[A>>2]|0;H=da(c[t>>2]|0,J)|0;y=da(c[g>>2]|0,c[o>>2]|0)|0;c[w+32>>2]=(H+y+ -1|0)/(y|0)|0;I=da(c[u>>2]|0,da(I,z)|0)|0;y=da(c[j>>2]|0,c[o>>2]|0)|0;c[w+44>>2]=(I+y+ -1|0)/(y|0)|0;J=da(c[t>>2]|0,da(J,B)|0)|0;y=da(c[g>>2]|0,c[o>>2]|0)|0;c[w+48>>2]=(J+y+ -1|0)/(y|0)|0;c[w+52>>2]=0;y=c[h>>2]|0;x=x+1|0;w=w+88|0}u=da(c[g>>2]|0,c[o>>2]|0)|0;c[b+288>>2]=((c[t>>2]|0)+u+ -1|0)/(u|0)|0;u=b+204|0;x=c[u>>2]|0;if((x|0)!=0){t=b+200|0;if((c[t>>2]|0)<1){c[(c[b>>2]|0)+20>>2]=20;c[(c[b>>2]|0)+24>>2]=0;qd[c[c[b>>2]>>2]&255](f);x=c[u>>2]|0}a:do if((c[x+20>>2]|0)==0?(c[x+24>>2]|0)==63:0){c[b+268>>2]=0;w=c[h>>2]|0;v=0;while(1){if((v|0)>=(w|0))break a;c[q+(v<<2)>>2]=0;v=v+1|0}}else s=90;while(0);b:do if((s|0)==90){c[b+268>>2]=1;w=r;s=0;while(1){if((s|0)<(c[h>>2]|0))v=0;else break b;while(1){if((v|0)>=64)break;c[w>>2]=-1;w=w+4|0;v=v+1|0}s=s+1|0}}while(0);s=b+268|0;w=1;while(1){if((w|0)>(c[t>>2]|0))break;v=c[x>>2]|0;if((v|0)<1|(v|0)>4){c[(c[b>>2]|0)+20>>2]=27;c[(c[b>>2]|0)+24>>2]=v;c[(c[b>>2]|0)+28>>2]=4;qd[c[c[b>>2]>>2]&255](f);z=0}else z=0;while(1){if((z|0)>=(v|0))break;y=c[x+(z<<2)+4>>2]|0;if(!((y|0)>=0?(y|0)<(c[h>>2]|0):0)){c[(c[b>>2]|0)+20>>2]=20;c[(c[b>>2]|0)+24>>2]=w;qd[c[c[b>>2]>>2]&255](f)}do if((z|0)>0){if((y|0)>(c[x+(z+ -1<<2)+4>>2]|0))break;c[(c[b>>2]|0)+20>>2]=20;c[(c[b>>2]|0)+24>>2]=w;qd[c[c[b>>2]>>2]&255](f)}while(0);z=z+1|0}G=c[x+20>>2]|0;E=c[x+24>>2]|0;D=c[x+28>>2]|0;C=c[x+32>>2]|0;c:do if((c[s>>2]|0)==0){if((G|0)==0&(E|0)==63&(D|0)==0&(C|0)==0)z=0;else{c[(c[b>>2]|0)+20>>2]=18;c[(c[b>>2]|0)+24>>2]=w;qd[c[c[b>>2]>>2]&255](f);z=0}while(1){if((z|0)>=(v|0))break c;y=q+(c[x+(z<<2)+4>>2]<<2)|0;if((c[y>>2]|0)!=0){c[(c[b>>2]|0)+20>>2]=20;c[(c[b>>2]|0)+24>>2]=w;qd[c[c[b>>2]>>2]&255](f)}c[y>>2]=1;z=z+1|0}}else{if((G|0)<0|(G|0)>63|(E|0)<(G|0)|(E|0)>63|(D|0)<0|(D|0)>10|(C|0)<0|(C|0)>10){c[(c[b>>2]|0)+20>>2]=18;c[(c[b>>2]|0)+24>>2]=w;qd[c[c[b>>2]>>2]&255](f)}F=(G|0)==0;do if(F){if((E|0)==0)break;c[(c[b>>2]|0)+20>>2]=18;c[(c[b>>2]|0)+24>>2]=w;qd[c[c[b>>2]>>2]&255](f)}else{if((v|0)==1)break;c[(c[b>>2]|0)+20>>2]=18;c[(c[b>>2]|0)+24>>2]=w;qd[c[c[b>>2]>>2]&255](f)}while(0);I=(D|0)==0;J=(C|0)==(D+ -1|0);B=0;while(1){if((B|0)>=(v|0))break c;A=c[x+(B<<2)+4>>2]|0;do if(F)z=G;else{if((c[r+(A<<8)>>2]|0)>=0){z=G;break}c[(c[b>>2]|0)+20>>2]=18;c[(c[b>>2]|0)+24>>2]=w;qd[c[c[b>>2]>>2]&255](f);z=G}while(0);while(1){if((z|0)>(E|0))break;y=r+(A<<8)+(z<<2)|0;H=c[y>>2]|0;do if((H|0)<0){if(I)break;c[(c[b>>2]|0)+20>>2]=18;c[(c[b>>2]|0)+24>>2]=w;qd[c[c[b>>2]>>2]&255](f)}else{if(!((D|0)==(H|0)^1|J^1))break;c[(c[b>>2]|0)+20>>2]=18;c[(c[b>>2]|0)+24>>2]=w;qd[c[c[b>>2]>>2]&255](f)}while(0);c[y>>2]=C;z=z+1|0}B=B+1|0}}while(0);x=x+36|0;w=w+1|0}d:do if((c[s>>2]|0)==0){r=0;while(1){if((r|0)>=(c[h>>2]|0))break d;if((c[q+(r<<2)>>2]|0)==0){c[(c[b>>2]|0)+20>>2]=46;qd[c[c[b>>2]>>2]&255](f)}r=r+1|0}}else{q=0;while(1){if((q|0)>=(c[h>>2]|0))break d;if((c[r+(q<<8)>>2]|0)<0){c[(c[b>>2]|0)+20>>2]=46;qd[c[c[b>>2]>>2]&255](f)}q=q+1|0}}while(0);if((c[o>>2]|0)<8){r=c[u>>2]|0;s=0;q=0;while(1){if((q|0)>=(c[t>>2]|0))break;if((q|0)!=(s|0)){u=r+(s*36|0)+0|0;w=r+(q*36|0)+0|0;v=u+36|0;do{c[u>>2]=c[w>>2];u=u+4|0;w=w+4|0}while((u|0)<(v|0))}u=c[p>>2]|0;if((c[r+(s*36|0)+20>>2]|0)<=(u|0)){v=r+(s*36|0)+24|0;if((c[v>>2]|0)>(u|0))c[v>>2]=u;s=s+1|0}q=q+1|0}c[t>>2]=s}}else{c[b+268>>2]=0;c[b+200>>2]=1}p=b+216|0;q=b+212|0;do if((c[p>>2]|0)==0){if((c[q>>2]|0)==0){if((c[b+268>>2]|0)==0?(J=c[o>>2]|0,!((J|0)>1&(J|0)<8)):0)break;c[p>>2]=1}}else c[q>>2]=0;while(0);c[n+20>>2]=0;c[n+32>>2]=0;c[n+24>>2]=0;o=c[b+200>>2]|0;if((c[p>>2]|0)==0)c[n+28>>2]=o;else c[n+28>>2]=o<<1;if((c[b+208>>2]|0)==0){n=md[c[c[e>>2]>>2]&63](f,1,12)|0;c[b+412>>2]=n;c[n>>2]=139;o=b+40|0;switch(c[o>>2]|0){case 1:{if((c[b+36>>2]|0)!=1){c[(c[b>>2]|0)+20>>2]=10;qd[c[c[b>>2]>>2]&255](f)}break};case 6:case 2:{if((c[b+36>>2]|0)!=3){c[(c[b>>2]|0)+20>>2]=10;qd[c[c[b>>2]>>2]&255](f)}break};case 7:case 3:{if((c[b+36>>2]|0)!=3){c[(c[b>>2]|0)+20>>2]=10;qd[c[c[b>>2]>>2]&255](f)}break};case 5:case 4:{if((c[b+36>>2]|0)!=4){c[(c[b>>2]|0)+20>>2]=10;qd[c[c[b>>2]>>2]&255](f)}break};default:if((c[b+36>>2]|0)<1){c[(c[b>>2]|0)+20>>2]=10;qd[c[c[b>>2]>>2]&255](f)}}q=b+260|0;s=b+80|0;if((c[q>>2]|0)!=0?(J=c[s>>2]|0,!((J|0)==6|(J|0)==2)):0){c[(c[b>>2]|0)+20>>2]=28;qd[c[c[b>>2]>>2]&255](f)}r=c[s>>2]|0;e:do switch(r|0){case 1:{if((c[h>>2]|0)!=1){c[(c[b>>2]|0)+20>>2]=11;qd[c[c[b>>2]>>2]&255](f)}o=c[o>>2]|0;if((o|0)==7|(o|0)==3|(o|0)==1){c[n+4>>2]=25;break e}else if((o|0)==2){c[n>>2]=140;c[n+4>>2]=26;break e}else{c[(c[b>>2]|0)+20>>2]=28;qd[c[c[b>>2]>>2]&255](f);break e}};case 6:case 2:{if((c[h>>2]|0)!=3){c[(c[b>>2]|0)+20>>2]=11;qd[c[c[b>>2]>>2]&255](f);r=c[s>>2]|0}if((c[o>>2]|0)!=(r|0)){c[(c[b>>2]|0)+20>>2]=28;qd[c[c[b>>2]>>2]&255](f);break e}o=c[q>>2]|0;if((o|0)==0){c[n+4>>2]=27;break e}else if((o|0)==1){c[n+4>>2]=28;break e}else{c[(c[b>>2]|0)+20>>2]=28;qd[c[c[b>>2]>>2]&255](f);break e}};case 3:{if((c[h>>2]|0)!=3){c[(c[b>>2]|0)+20>>2]=11;qd[c[c[b>>2]>>2]&255](f)}o=c[o>>2]|0;if((o|0)==2){c[n>>2]=140;c[n+4>>2]=29;break e}else if((o|0)==3){c[n+4>>2]=30;break e}else{c[(c[b>>2]|0)+20>>2]=28;qd[c[c[b>>2]>>2]&255](f);break e}};case 7:{if((c[h>>2]|0)!=3){c[(c[b>>2]|0)+20>>2]=11;qd[c[c[b>>2]>>2]&255](f)}o=c[o>>2]|0;if((o|0)==2){c[(c[m>>2]|0)+140>>2]=1;c[(c[m>>2]|0)+228>>2]=1;c[n>>2]=140;c[n+4>>2]=29;break e}else if((o|0)==3){c[(c[m>>2]|0)+140>>2]=1;c[(c[m>>2]|0)+228>>2]=1}else if((o|0)!=7){c[(c[b>>2]|0)+20>>2]=28;qd[c[c[b>>2]>>2]&255](f);break e}c[n+4>>2]=30;break};case 4:{if((c[h>>2]|0)!=4){c[(c[b>>2]|0)+20>>2]=11;qd[c[c[b>>2]>>2]&255](f)}if((c[o>>2]|0)==4){c[n+4>>2]=30;break e}else{c[(c[b>>2]|0)+20>>2]=28;qd[c[c[b>>2]>>2]&255](f);break e}};case 5:{if((c[h>>2]|0)!=4){c[(c[b>>2]|0)+20>>2]=11;qd[c[c[b>>2]>>2]&255](f)}o=c[o>>2]|0;if((o|0)==4){c[n>>2]=140;c[n+4>>2]=31;break e}else if((o|0)==5){c[n+4>>2]=30;break e}else{c[(c[b>>2]|0)+20>>2]=28;qd[c[c[b>>2]>>2]&255](f);break e}};default:{if(!((r|0)==(c[o>>2]|0)?(c[h>>2]|0)==(c[b+36>>2]|0):0)){c[(c[b>>2]|0)+20>>2]=28;qd[c[c[b>>2]>>2]&255](f)}c[n+4>>2]=30}}while(0);o=md[c[c[e>>2]>>2]&63](f,1,112)|0;c[b+416>>2]=o;c[o>>2]=141;c[o+4>>2]=32;q=o+8|0;c[q>>2]=0;if((c[b+220>>2]|0)!=0){c[(c[b>>2]|0)+20>>2]=26;qd[c[c[b>>2]>>2]&255](f)}r=b+228|0;n=0;s=1;m=c[m>>2]|0;while(1){if((n|0)>=(c[h>>2]|0))break;v=da(c[m+8>>2]|0,c[m+36>>2]|0)|0;v=(v|0)/(c[l>>2]|0)|0;t=da(c[m+12>>2]|0,c[m+40>>2]|0)|0;t=(t|0)/(c[k>>2]|0)|0;u=c[j>>2]|0;w=c[g>>2]|0;c[o+(n<<2)+52>>2]=t;f:do if((u|0)==(v|0)&(w|0)==(t|0)){t=o+(n<<2)+12|0;if((c[r>>2]|0)==0){c[t>>2]=30;break}else{c[t>>2]=29;c[q>>2]=1;break}}else{do if((u|0)==(v<<1|0)){if((w|0)==(t|0)){c[o+(n<<2)+12>>2]=31;s=0;break f}if((w|0)!=(t<<1|0))break;t=o+(n<<2)+12|0;if((c[r>>2]|0)==0){c[t>>2]=33;break f}else{c[t>>2]=32;c[q>>2]=1;break f}}while(0);do if(((u|0)%(v|0)|0|0)==0){if(((w|0)%(t|0)|0|0)!=0)break;c[o+(n<<2)+12>>2]=34;a[o+n+92>>0]=(u|0)/(v|0)|0;a[o+n+102>>0]=(w|0)/(t|0)|0;s=0;break f}while(0);c[(c[b>>2]|0)+20>>2]=39;qd[c[c[b>>2]>>2]&255](f)}while(0);n=n+1|0;m=m+88|0}if((c[r>>2]|0)!=0&(s|0)==0){c[(c[b>>2]|0)+20>>2]=101;rd[c[(c[b>>2]|0)+4>>2]&127](f,0)}cf(b,0)}k=md[c[c[e>>2]>>2]&63](f,1,124)|0;c[b+420>>2]=k;c[k>>2]=142;k=b+76|0;j=b+4|0;g=0;h=c[b+84>>2]|0;while(1){if((g|0)>=(c[k>>2]|0))break;c[h+84>>2]=md[c[c[j>>2]>>2]&63](b,1,256)|0;g=g+1|0;h=h+88|0}if((c[b+212>>2]|0)==0)pe(b);else{g=md[c[c[e>>2]>>2]&63](f,1,208)|0;c[b+424>>2]=g;c[g>>2]=62;c[g+8>>2]=143;h=0;while(1){if((h|0)>=16)break;c[g+(h<<2)+76>>2]=0;c[g+(h<<2)+140>>2]=0;h=h+1|0}a[g+204>>0]=113}if((c[b+200>>2]|0)>1){J=1;J=J&1;_d(b,J);Ge(b,0);J=c[e>>2]|0;J=c[J>>2]|0;J=md[J&63](f,1,32)|0;I=b+408|0;c[I>>2]=J;c[J>>2]=144;I=J+4|0;c[I>>2]=145;I=J+8|0;c[I>>2]=146;I=J+12|0;c[I>>2]=147;I=J+16|0;c[I>>2]=148;I=J+20|0;c[I>>2]=58;I=J+24|0;c[I>>2]=63;J=J+28|0;c[J>>2]=0;J=c[e>>2]|0;J=J+24|0;J=c[J>>2]|0;qd[J&255](f);J=b+408|0;J=c[J>>2]|0;J=c[J>>2]|0;qd[J&255](b);i=d;return}J=(c[p>>2]|0)!=0;J=J&1;_d(b,J);Ge(b,0);J=c[e>>2]|0;J=c[J>>2]|0;J=md[J&63](f,1,32)|0;I=b+408|0;c[I>>2]=J;c[J>>2]=144;I=J+4|0;c[I>>2]=145;I=J+8|0;c[I>>2]=146;I=J+12|0;c[I>>2]=147;I=J+16|0;c[I>>2]=148;I=J+20|0;c[I>>2]=58;I=J+24|0;c[I>>2]=63;J=J+28|0;c[J>>2]=0;J=c[e>>2]|0;J=J+24|0;J=c[J>>2]|0;qd[J&255](f);J=b+408|0;J=c[J>>2]|0;J=c[J>>2]|0;qd[J&255](b);i=d;return}function Ge(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;e=a+4|0;f=md[c[c[e>>2]>>2]&63](a,1,64)|0;c[a+396>>2]=f;c[f>>2]=64;if((c[a+208>>2]|0)!=0){i=d;return}if((b|0)!=0){c[(c[a>>2]|0)+20>>2]=3;qd[c[c[a>>2]>>2]&255](a);i=d;return}b=a+76|0;h=0;g=c[a+84>>2]|0;while(1){if((h|0)>=(c[b>>2]|0))break;k=da(c[g+28>>2]|0,c[g+36>>2]|0)|0;j=da(c[g+12>>2]|0,c[g+40>>2]|0)|0;c[f+(h<<2)+24>>2]=Ad[c[(c[e>>2]|0)+8>>2]&31](a,1,k,j)|0;h=h+1|0;g=g+88|0}i=d;return}function He(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;e=c[a+396>>2]|0;if((c[a+208>>2]|0)!=0){i=d;return}c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=b;if((b|0)==0){c[e+4>>2]=35;i=d;return}else{c[(c[a>>2]|0)+20>>2]=3;qd[c[c[a>>2]>>2]&255](a);i=d;return}}function Ie(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=i;f=c[a+396>>2]|0;n=f+8|0;m=a+288|0;k=f+12|0;l=a+284|0;j=a+400|0;h=f+24|0;o=a+404|0;f=f+16|0;p=c[n>>2]|0;while(1){if(!(p>>>0<(c[m>>2]|0)>>>0)){h=12;break}p=c[k>>2]|0;q=c[l>>2]|0;if(p>>>0<q>>>0){nd[c[(c[j>>2]|0)+4>>2]&127](a,b,d,e,h,k,q);p=c[k>>2]|0;q=c[l>>2]|0}if((p|0)!=(q|0)){h=12;break}q=(Dd[c[(c[o>>2]|0)+4>>2]&127](a,h)|0)==0;p=(c[f>>2]|0)==0;if(q){h=7;break}if(!p){c[d>>2]=(c[d>>2]|0)+1;c[f>>2]=0}c[k>>2]=0;p=(c[n>>2]|0)+1|0;c[n>>2]=p}if((h|0)==7){if(!p){i=g;return}c[d>>2]=(c[d>>2]|0)+ -1;c[f>>2]=1;i=g;return}else if((h|0)==12){i=g;return}}function Je(b){b=b|0;var d=0,f=0,g=0,h=0,j=0,k=0;d=i;g=c[b+408>>2]|0;f=b+24|0;h=c[f>>2]|0;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=-1;k=h+4|0;j=(c[k>>2]|0)+ -1|0;c[k>>2]=j;if((j|0)==0?(ud[c[h+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}h=c[f>>2]|0;j=c[h>>2]|0;c[h>>2]=j+1;a[j>>0]=-40;j=h+4|0;k=(c[j>>2]|0)+ -1|0;c[j>>2]=k;if((k|0)==0?(ud[c[h+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}c[g+28>>2]=0;if((c[b+244>>2]|0)!=0){g=c[f>>2]|0;j=c[g>>2]|0;c[g>>2]=j+1;a[j>>0]=-1;j=g+4|0;k=(c[j>>2]|0)+ -1|0;c[j>>2]=k;if((k|0)==0?(ud[c[g+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}g=c[f>>2]|0;j=c[g>>2]|0;c[g>>2]=j+1;a[j>>0]=-32;j=g+4|0;k=(c[j>>2]|0)+ -1|0;c[j>>2]=k;if((k|0)==0?(ud[c[g+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}Qe(b,16);g=c[f>>2]|0;j=c[g>>2]|0;c[g>>2]=j+1;a[j>>0]=74;j=g+4|0;k=(c[j>>2]|0)+ -1|0;c[j>>2]=k;if((k|0)==0?(ud[c[g+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}g=c[f>>2]|0;j=c[g>>2]|0;c[g>>2]=j+1;a[j>>0]=70;j=g+4|0;k=(c[j>>2]|0)+ -1|0;c[j>>2]=k;if((k|0)==0?(ud[c[g+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}g=c[f>>2]|0;j=c[g>>2]|0;c[g>>2]=j+1;a[j>>0]=73;j=g+4|0;k=(c[j>>2]|0)+ -1|0;c[j>>2]=k;if((k|0)==0?(ud[c[g+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}g=c[f>>2]|0;j=c[g>>2]|0;c[g>>2]=j+1;a[j>>0]=70;j=g+4|0;k=(c[j>>2]|0)+ -1|0;c[j>>2]=k;if((k|0)==0?(ud[c[g+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}g=c[f>>2]|0;j=c[g>>2]|0;c[g>>2]=j+1;a[j>>0]=0;j=g+4|0;k=(c[j>>2]|0)+ -1|0;c[j>>2]=k;if((k|0)==0?(ud[c[g+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}k=a[b+248>>0]|0;g=c[f>>2]|0;j=c[g>>2]|0;c[g>>2]=j+1;a[j>>0]=k;j=g+4|0;k=(c[j>>2]|0)+ -1|0;c[j>>2]=k;if((k|0)==0?(ud[c[g+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}k=a[b+249>>0]|0;g=c[f>>2]|0;j=c[g>>2]|0;c[g>>2]=j+1;a[j>>0]=k;j=g+4|0;k=(c[j>>2]|0)+ -1|0;c[j>>2]=k;if((k|0)==0?(ud[c[g+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}k=a[b+250>>0]|0;g=c[f>>2]|0;j=c[g>>2]|0;c[g>>2]=j+1;a[j>>0]=k;j=g+4|0;k=(c[j>>2]|0)+ -1|0;c[j>>2]=k;if((k|0)==0?(ud[c[g+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}Qe(b,e[b+252>>1]|0);Qe(b,e[b+254>>1]|0);g=c[f>>2]|0;j=c[g>>2]|0;c[g>>2]=j+1;a[j>>0]=0;j=g+4|0;k=(c[j>>2]|0)+ -1|0;c[j>>2]=k;if((k|0)==0?(ud[c[g+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}g=c[f>>2]|0;j=c[g>>2]|0;c[g>>2]=j+1;a[j>>0]=0;j=g+4|0;k=(c[j>>2]|0)+ -1|0;c[j>>2]=k;if((k|0)==0?(ud[c[g+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}}if((c[b+256>>2]|0)==0){i=d;return}g=c[f>>2]|0;j=c[g>>2]|0;c[g>>2]=j+1;a[j>>0]=-1;j=g+4|0;k=(c[j>>2]|0)+ -1|0;c[j>>2]=k;if((k|0)==0?(ud[c[g+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}g=c[f>>2]|0;j=c[g>>2]|0;c[g>>2]=j+1;a[j>>0]=-18;j=g+4|0;k=(c[j>>2]|0)+ -1|0;c[j>>2]=k;if((k|0)==0?(ud[c[g+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}Qe(b,14);g=c[f>>2]|0;j=c[g>>2]|0;c[g>>2]=j+1;a[j>>0]=65;j=g+4|0;k=(c[j>>2]|0)+ -1|0;c[j>>2]=k;if((k|0)==0?(ud[c[g+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}g=c[f>>2]|0;j=c[g>>2]|0;c[g>>2]=j+1;a[j>>0]=100;j=g+4|0;k=(c[j>>2]|0)+ -1|0;c[j>>2]=k;if((k|0)==0?(ud[c[g+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}g=c[f>>2]|0;j=c[g>>2]|0;c[g>>2]=j+1;a[j>>0]=111;j=g+4|0;k=(c[j>>2]|0)+ -1|0;c[j>>2]=k;if((k|0)==0?(ud[c[g+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}g=c[f>>2]|0;j=c[g>>2]|0;c[g>>2]=j+1;a[j>>0]=98;j=g+4|0;k=(c[j>>2]|0)+ -1|0;c[j>>2]=k;if((k|0)==0?(ud[c[g+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}g=c[f>>2]|0;j=c[g>>2]|0;c[g>>2]=j+1;a[j>>0]=101;j=g+4|0;k=(c[j>>2]|0)+ -1|0;c[j>>2]=k;if((k|0)==0?(ud[c[g+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}Qe(b,100);Qe(b,0);Qe(b,0);g=c[b+80>>2]|0;if((g|0)==3){f=c[f>>2]|0;j=c[f>>2]|0;c[f>>2]=j+1;a[j>>0]=1;j=f+4|0;k=(c[j>>2]|0)+ -1|0;c[j>>2]=k;if((k|0)!=0){i=d;return}if((ud[c[f+12>>2]&127](b)|0)!=0){i=d;return}c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b);i=d;return}else if((g|0)==5){f=c[f>>2]|0;j=c[f>>2]|0;c[f>>2]=j+1;a[j>>0]=2;j=f+4|0;k=(c[j>>2]|0)+ -1|0;c[j>>2]=k;if((k|0)!=0){i=d;return}if((ud[c[f+12>>2]&127](b)|0)!=0){i=d;return}c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b);i=d;return}else{f=c[f>>2]|0;j=c[f>>2]|0;c[f>>2]=j+1;a[j>>0]=0;j=f+4|0;k=(c[j>>2]|0)+ -1|0;c[j>>2]=k;if((k|0)!=0){i=d;return}if((ud[c[f+12>>2]&127](b)|0)!=0){i=d;return}c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b);i=d;return}}function Ke(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;d=i;e=b+84|0;f=b+76|0;l=0;h=0;k=c[e>>2]|0;while(1){j=c[f>>2]|0;if((l|0)>=(j|0))break;l=l+1|0;h=h+(Re(b,c[k+16>>2]|0)|0)|0;k=k+88|0}k=b+212|0;l=c[k>>2]|0;a:do if((l|0)==0){do if((c[b+268>>2]|0)==0){if((c[b+72>>2]|0)==8?(c[b+380>>2]|0)==8:0){l=0;n=1;m=c[e>>2]|0;while(1){if((l|0)>=(j|0))break;if(!((c[m+20>>2]|0)<=1?(c[m+24>>2]|0)<=1:0))n=0;l=l+1|0;m=m+88|0}if((h|0)==0)break;if((n|0)==0){n=0;break}c[(c[b>>2]|0)+20>>2]=77;rd[c[(c[b>>2]|0)+4>>2]&127](b,0);l=c[k>>2]|0;n=0}else n=0;if((l|0)!=0){g=18;break a}}else n=0;while(0);if((c[b+268>>2]|0)!=0){Te(b,194);break}if((n|0)==0){Te(b,193);break}else{Te(b,192);break}}else g=18;while(0);do if((g|0)==18)if((c[b+268>>2]|0)==0){Te(b,201);break}else{Te(b,202);break}while(0);h=c[b+260>>2]|0;if((h|0)==1)if((c[f>>2]|0)<3)g=28;else g=29;else if((h|0)!=0)g=28;if((g|0)==28){c[(c[b>>2]|0)+20>>2]=28;qd[c[c[b>>2]>>2]&255](b);g=29}if((g|0)==29){f=b+24|0;g=c[f>>2]|0;m=c[g>>2]|0;c[g>>2]=m+1;a[m>>0]=-1;m=g+4|0;n=(c[m>>2]|0)+ -1|0;c[m>>2]=n;if((n|0)==0?(ud[c[g+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}g=c[f>>2]|0;m=c[g>>2]|0;c[g>>2]=m+1;a[m>>0]=-8;m=g+4|0;n=(c[m>>2]|0)+ -1|0;c[m>>2]=n;if((n|0)==0?(ud[c[g+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}Qe(b,24);g=c[f>>2]|0;m=c[g>>2]|0;c[g>>2]=m+1;a[m>>0]=13;m=g+4|0;n=(c[m>>2]|0)+ -1|0;c[m>>2]=n;if((n|0)==0?(ud[c[g+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}Qe(b,255);g=c[f>>2]|0;m=c[g>>2]|0;c[g>>2]=m+1;a[m>>0]=3;m=g+4|0;n=(c[m>>2]|0)+ -1|0;c[m>>2]=n;if((n|0)==0?(ud[c[g+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}g=c[f>>2]|0;n=c[(c[e>>2]|0)+88>>2]&255;m=c[g>>2]|0;c[g>>2]=m+1;a[m>>0]=n;m=g+4|0;n=(c[m>>2]|0)+ -1|0;c[m>>2]=n;if((n|0)==0?(ud[c[g+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}g=c[f>>2]|0;n=c[c[e>>2]>>2]&255;m=c[g>>2]|0;c[g>>2]=m+1;a[m>>0]=n;m=g+4|0;n=(c[m>>2]|0)+ -1|0;c[m>>2]=n;if((n|0)==0?(ud[c[g+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}g=c[f>>2]|0;n=c[(c[e>>2]|0)+176>>2]&255;m=c[g>>2]|0;c[g>>2]=m+1;a[m>>0]=n;m=g+4|0;n=(c[m>>2]|0)+ -1|0;c[m>>2]=n;if((n|0)==0?(ud[c[g+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}e=c[f>>2]|0;m=c[e>>2]|0;c[e>>2]=m+1;a[m>>0]=-128;m=e+4|0;n=(c[m>>2]|0)+ -1|0;c[m>>2]=n;if((n|0)==0?(ud[c[e+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}Qe(b,0);Qe(b,0);e=c[f>>2]|0;m=c[e>>2]|0;c[e>>2]=m+1;a[m>>0]=0;m=e+4|0;n=(c[m>>2]|0)+ -1|0;c[m>>2]=n;if((n|0)==0?(ud[c[e+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}Qe(b,1);Qe(b,0);e=c[f>>2]|0;m=c[e>>2]|0;c[e>>2]=m+1;a[m>>0]=0;m=e+4|0;n=(c[m>>2]|0)+ -1|0;c[m>>2]=n;if((n|0)==0?(ud[c[e+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}Qe(b,1);Qe(b,0)}if((c[b+268>>2]|0)==0){i=d;return}f=b+380|0;if((c[f>>2]|0)==8){i=d;return}e=b+24|0;g=c[e>>2]|0;m=c[g>>2]|0;c[g>>2]=m+1;a[m>>0]=-1;m=g+4|0;n=(c[m>>2]|0)+ -1|0;c[m>>2]=n;if((n|0)==0?(ud[c[g+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}g=c[e>>2]|0;m=c[g>>2]|0;c[g>>2]=m+1;a[m>>0]=-38;m=g+4|0;n=(c[m>>2]|0)+ -1|0;c[m>>2]=n;if((n|0)==0?(ud[c[g+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}Qe(b,6);g=c[e>>2]|0;m=c[g>>2]|0;c[g>>2]=m+1;a[m>>0]=0;m=g+4|0;n=(c[m>>2]|0)+ -1|0;c[m>>2]=n;if((n|0)==0?(ud[c[g+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}g=c[e>>2]|0;m=c[g>>2]|0;c[g>>2]=m+1;a[m>>0]=0;m=g+4|0;n=(c[m>>2]|0)+ -1|0;c[m>>2]=n;if((n|0)==0?(ud[c[g+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}n=c[f>>2]|0;n=(da(n,n)|0)+255|0;f=c[e>>2]|0;m=c[f>>2]|0;c[f>>2]=m+1;a[m>>0]=n;m=f+4|0;n=(c[m>>2]|0)+ -1|0;c[m>>2]=n;if((n|0)==0?(ud[c[f+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}e=c[e>>2]|0;m=c[e>>2]|0;c[e>>2]=m+1;a[m>>0]=0;m=e+4|0;n=(c[m>>2]|0)+ -1|0;c[m>>2]=n;if((n|0)!=0){i=d;return}if((ud[c[e+12>>2]&127](b)|0)!=0){i=d;return}c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b);i=d;return}function Le(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;e=i;i=i+32|0;g=e+16|0;h=e;f=c[b+408>>2]|0;a:do if((c[b+212>>2]|0)!=0){j=0;while(1){if((j|0)>=16)break;a[h+j>>0]=0;a[g+j>>0]=0;j=j+1|0}m=c[b+292>>2]|0;k=b+364|0;l=b+372|0;j=b+368|0;n=0;while(1){if((n|0)>=(m|0)){k=0;j=0;break}o=c[b+(n<<2)+296>>2]|0;if((c[k>>2]|0)==0?(c[l>>2]|0)==0:0)a[g+(c[o+20>>2]|0)>>0]=1;if((c[j>>2]|0)!=0)a[h+(c[o+24>>2]|0)>>0]=1;n=n+1|0}while(1){if((j|0)>=16)break;k=k+((a[g+j>>0]|0)+(a[h+j>>0]|0))|0;j=j+1|0}if((k|0)!=0){j=b+24|0;l=c[j>>2]|0;n=c[l>>2]|0;c[l>>2]=n+1;a[n>>0]=-1;n=l+4|0;o=(c[n>>2]|0)+ -1|0;c[n>>2]=o;if((o|0)==0?(ud[c[l+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}l=c[j>>2]|0;n=c[l>>2]|0;c[l>>2]=n+1;a[n>>0]=-52;n=l+4|0;o=(c[n>>2]|0)+ -1|0;c[n>>2]=o;if((o|0)==0?(ud[c[l+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}Qe(b,(k<<1)+2|0);k=0;while(1){if((k|0)>=16)break a;if((a[g+k>>0]|0)!=0){l=c[j>>2]|0;n=c[l>>2]|0;c[l>>2]=n+1;a[n>>0]=k;n=l+4|0;o=(c[n>>2]|0)+ -1|0;c[n>>2]=o;if((o|0)==0?(ud[c[l+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}l=c[j>>2]|0;o=(d[b+k+152>>0]|0)+(d[b+k+168>>0]<<4)&255;n=c[l>>2]|0;c[l>>2]=n+1;a[n>>0]=o;n=l+4|0;o=(c[n>>2]|0)+ -1|0;c[n>>2]=o;if((o|0)==0?(ud[c[l+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}}if((a[h+k>>0]|0)!=0){l=c[j>>2]|0;n=c[l>>2]|0;c[l>>2]=n+1;a[n>>0]=k+16;n=l+4|0;o=(c[n>>2]|0)+ -1|0;c[n>>2]=o;if((o|0)==0?(ud[c[l+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}o=a[b+k+184>>0]|0;l=c[j>>2]|0;n=c[l>>2]|0;c[l>>2]=n+1;a[n>>0]=o;n=l+4|0;o=(c[n>>2]|0)+ -1|0;c[n>>2]=o;if((o|0)==0?(ud[c[l+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}}k=k+1|0}}}else{m=b+292|0;k=b+364|0;l=b+372|0;j=b+368|0;g=0;while(1){if((g|0)>=(c[m>>2]|0))break a;h=c[b+(g<<2)+296>>2]|0;if((c[k>>2]|0)==0?(c[l>>2]|0)==0:0)Se(b,c[h+20>>2]|0,0);if((c[j>>2]|0)!=0)Se(b,c[h+24>>2]|0,1);g=g+1|0}}while(0);g=b+236|0;h=f+28|0;f=b+24|0;if((c[g>>2]|0)!=(c[h>>2]|0)){j=c[f>>2]|0;n=c[j>>2]|0;c[j>>2]=n+1;a[n>>0]=-1;n=j+4|0;o=(c[n>>2]|0)+ -1|0;c[n>>2]=o;if((o|0)==0?(ud[c[j+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}j=c[f>>2]|0;n=c[j>>2]|0;c[j>>2]=n+1;a[n>>0]=-35;n=j+4|0;o=(c[n>>2]|0)+ -1|0;c[n>>2]=o;if((o|0)==0?(ud[c[j+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}Qe(b,4);Qe(b,c[g>>2]|0);c[h>>2]=c[g>>2]}g=c[f>>2]|0;n=c[g>>2]|0;c[g>>2]=n+1;a[n>>0]=-1;n=g+4|0;o=(c[n>>2]|0)+ -1|0;c[n>>2]=o;if((o|0)==0?(ud[c[g+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}g=c[f>>2]|0;n=c[g>>2]|0;c[g>>2]=n+1;a[n>>0]=-38;n=g+4|0;o=(c[n>>2]|0)+ -1|0;c[n>>2]=o;if((o|0)==0?(ud[c[g+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}j=b+292|0;Qe(b,(c[j>>2]<<1)+6|0);g=c[f>>2]|0;o=c[j>>2]&255;n=c[g>>2]|0;c[g>>2]=n+1;a[n>>0]=o;n=g+4|0;o=(c[n>>2]|0)+ -1|0;c[n>>2]=o;if((o|0)==0?(ud[c[g+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}k=b+364|0;g=b+372|0;h=b+368|0;l=0;while(1){if((l|0)>=(c[j>>2]|0))break;n=c[b+(l<<2)+296>>2]|0;m=c[f>>2]|0;o=c[n>>2]&255;p=c[m>>2]|0;c[m>>2]=p+1;a[p>>0]=o;p=m+4|0;o=(c[p>>2]|0)+ -1|0;c[p>>2]=o;if((o|0)==0?(ud[c[m+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}if((c[k>>2]|0)==0?(c[g>>2]|0)==0:0)m=c[n+20>>2]<<4;else m=0;if((c[h>>2]|0)==0)o=0;else o=c[n+24>>2]|0;n=c[f>>2]|0;p=c[n>>2]|0;c[n>>2]=p+1;a[p>>0]=m+o;o=n+4|0;p=(c[o>>2]|0)+ -1|0;c[o>>2]=p;if((p|0)==0?(ud[c[n+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}l=l+1|0}j=c[f>>2]|0;p=c[k>>2]&255;o=c[j>>2]|0;c[j>>2]=o+1;a[o>>0]=p;o=j+4|0;p=(c[o>>2]|0)+ -1|0;c[o>>2]=p;if((p|0)==0?(ud[c[j+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}j=c[f>>2]|0;p=c[h>>2]&255;o=c[j>>2]|0;c[j>>2]=o+1;a[o>>0]=p;o=j+4|0;p=(c[o>>2]|0)+ -1|0;c[o>>2]=p;if((p|0)==0?(ud[c[j+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}f=c[f>>2]|0;p=(c[g>>2]<<4)+(c[b+376>>2]|0)&255;o=c[f>>2]|0;c[f>>2]=o+1;a[o>>0]=p;o=f+4|0;p=(c[o>>2]|0)+ -1|0;c[o>>2]=p;if((p|0)!=0){i=e;return}if((ud[c[f+12>>2]&127](b)|0)!=0){i=e;return}c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b);i=e;return}function Me(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;e=b+24|0;f=c[e>>2]|0;h=c[f>>2]|0;c[f>>2]=h+1;a[h>>0]=-1;h=f+4|0;g=(c[h>>2]|0)+ -1|0;c[h>>2]=g;if((g|0)==0?(ud[c[f+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}e=c[e>>2]|0;g=c[e>>2]|0;c[e>>2]=g+1;a[g>>0]=-39;g=e+4|0;h=(c[g>>2]|0)+ -1|0;c[g>>2]=h;if((h|0)!=0){i=d;return}if((ud[c[e+12>>2]&127](b)|0)!=0){i=d;return}c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b);i=d;return}function Ne(b){b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;e=b+24|0;f=c[e>>2]|0;h=c[f>>2]|0;c[f>>2]=h+1;a[h>>0]=-1;h=f+4|0;g=(c[h>>2]|0)+ -1|0;c[h>>2]=g;if((g|0)==0?(ud[c[f+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}f=c[e>>2]|0;g=c[f>>2]|0;c[f>>2]=g+1;a[g>>0]=-40;g=f+4|0;h=(c[g>>2]|0)+ -1|0;c[g>>2]=h;if((h|0)==0?(ud[c[f+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b);f=0}else f=0;while(1){if((f|0)>=4)break;if((c[b+(f<<2)+88>>2]|0)!=0)Re(b,f)|0;f=f+1|0}a:do if((c[b+212>>2]|0)==0){f=0;while(1){if((f|0)>=4)break a;if((c[b+(f<<2)+120>>2]|0)!=0)Se(b,f,0);if((c[b+(f<<2)+136>>2]|0)!=0)Se(b,f,1);f=f+1|0}}while(0);f=c[e>>2]|0;g=c[f>>2]|0;c[f>>2]=g+1;a[g>>0]=-1;g=f+4|0;h=(c[g>>2]|0)+ -1|0;c[g>>2]=h;if((h|0)==0?(ud[c[f+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}e=c[e>>2]|0;g=c[e>>2]|0;c[e>>2]=g+1;a[g>>0]=-39;g=e+4|0;h=(c[g>>2]|0)+ -1|0;c[g>>2]=h;if((h|0)!=0){i=d;return}if((ud[c[e+12>>2]&127](b)|0)!=0){i=d;return}c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b);i=d;return}function Oe(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;if(e>>>0>65533){c[(c[b>>2]|0)+20>>2]=12;qd[c[c[b>>2]>>2]&255](b)}g=b+24|0;h=c[g>>2]|0;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=-1;k=h+4|0;j=(c[k>>2]|0)+ -1|0;c[k>>2]=j;if((j|0)==0?(ud[c[h+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}g=c[g>>2]|0;j=c[g>>2]|0;c[g>>2]=j+1;a[j>>0]=d;j=g+4|0;k=(c[j>>2]|0)+ -1|0;c[j>>2]=k;if((k|0)!=0){k=e+2|0;Qe(b,k);i=f;return}if((ud[c[g+12>>2]&127](b)|0)!=0){k=e+2|0;Qe(b,k);i=f;return}c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b);k=e+2|0;Qe(b,k);i=f;return}function Pe(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;f=c[b+24>>2]|0;g=c[f>>2]|0;c[f>>2]=g+1;a[g>>0]=d;g=f+4|0;d=(c[g>>2]|0)+ -1|0;c[g>>2]=d;if((d|0)!=0){i=e;return}if((ud[c[f+12>>2]&127](b)|0)!=0){i=e;return}c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b);i=e;return}function Qe(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;f=b+24|0;g=c[f>>2]|0;j=c[g>>2]|0;c[g>>2]=j+1;a[j>>0]=d>>>8;j=g+4|0;h=(c[j>>2]|0)+ -1|0;c[j>>2]=h;if((h|0)==0?(ud[c[g+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}f=c[f>>2]|0;h=c[f>>2]|0;c[f>>2]=h+1;a[h>>0]=d;h=f+4|0;j=(c[h>>2]|0)+ -1|0;c[h>>2]=j;if((j|0)!=0){i=e;return}if((ud[c[f+12>>2]&127](b)|0)!=0){i=e;return}c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b);i=e;return}function Re(d,f){d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;m=i;g=c[d+(f<<2)+88>>2]|0;if((g|0)==0){c[(c[d>>2]|0)+20>>2]=54;c[(c[d>>2]|0)+24>>2]=f;qd[c[c[d>>2]>>2]&255](d)}l=d+388|0;n=c[l>>2]|0;k=d+384|0;j=0;o=0;while(1){if((o|0)>(n|0))break;j=(e[g+(c[(c[k>>2]|0)+(o<<2)>>2]<<1)>>1]|0)>255?1:j;o=o+1|0}n=g+128|0;if((c[n>>2]|0)!=0){i=m;return j|0}o=d+24|0;p=c[o>>2]|0;q=c[p>>2]|0;c[p>>2]=q+1;a[q>>0]=-1;q=p+4|0;r=(c[q>>2]|0)+ -1|0;c[q>>2]=r;if((r|0)==0?(ud[c[p+12>>2]&127](d)|0)==0:0){c[(c[d>>2]|0)+20>>2]=25;qd[c[c[d>>2]>>2]&255](d)}p=c[o>>2]|0;q=c[p>>2]|0;c[p>>2]=q+1;a[q>>0]=-37;q=p+4|0;r=(c[q>>2]|0)+ -1|0;c[q>>2]=r;if((r|0)==0?(ud[c[p+12>>2]&127](d)|0)==0:0){c[(c[d>>2]|0)+20>>2]=25;qd[c[c[d>>2]>>2]&255](d)}p=(j|0)==0;q=c[l>>2]|0;if(p)q=q+4|0;else q=(q<<1)+5|0;Qe(d,q);q=c[o>>2]|0;r=c[q>>2]|0;c[q>>2]=r+1;a[r>>0]=(j<<4)+f;f=q+4|0;r=(c[f>>2]|0)+ -1|0;c[f>>2]=r;if((r|0)==0?(ud[c[q+12>>2]&127](d)|0)==0:0){c[(c[d>>2]|0)+20>>2]=25;qd[c[c[d>>2]>>2]&255](d)}r=0;while(1){if((r|0)>(c[l>>2]|0))break;q=b[g+(c[(c[k>>2]|0)+(r<<2)>>2]<<1)>>1]|0;if((!p?(h=c[o>>2]|0,s=c[h>>2]|0,c[h>>2]=s+1,a[s>>0]=(q&65535)>>>8,s=h+4|0,f=(c[s>>2]|0)+ -1|0,c[s>>2]=f,(f|0)==0):0)?(ud[c[h+12>>2]&127](d)|0)==0:0){c[(c[d>>2]|0)+20>>2]=25;qd[c[c[d>>2]>>2]&255](d)}f=c[o>>2]|0;s=c[f>>2]|0;c[f>>2]=s+1;a[s>>0]=q;q=f+4|0;s=(c[q>>2]|0)+ -1|0;c[q>>2]=s;if((s|0)==0?(ud[c[f+12>>2]&127](d)|0)==0:0){c[(c[d>>2]|0)+20>>2]=25;qd[c[c[d>>2]>>2]&255](d)}r=r+1|0}c[n>>2]=1;i=m;return j|0}function Se(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;g=i;if((f|0)==0)f=c[b+(e<<2)+120>>2]|0;else{f=c[b+(e<<2)+136>>2]|0;e=e+16|0}if((f|0)==0){c[(c[b>>2]|0)+20>>2]=52;c[(c[b>>2]|0)+24>>2]=e;qd[c[c[b>>2]>>2]&255](b)}h=f+276|0;if((c[h>>2]|0)!=0){i=g;return}j=b+24|0;k=c[j>>2]|0;m=c[k>>2]|0;c[k>>2]=m+1;a[m>>0]=-1;m=k+4|0;l=(c[m>>2]|0)+ -1|0;c[m>>2]=l;if((l|0)==0?(ud[c[k+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}k=c[j>>2]|0;l=c[k>>2]|0;c[k>>2]=l+1;a[l>>0]=-60;l=k+4|0;m=(c[l>>2]|0)+ -1|0;c[l>>2]=m;if((m|0)==0?(ud[c[k+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b);k=0;l=1}else{k=0;l=1}while(1){if((l|0)>=17)break;k=k+(d[f+l>>0]|0)|0;l=l+1|0}Qe(b,k+19|0);l=c[j>>2]|0;m=c[l>>2]|0;c[l>>2]=m+1;a[m>>0]=e;e=l+4|0;m=(c[e>>2]|0)+ -1|0;c[e>>2]=m;if((m|0)==0?(ud[c[l+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}l=1;while(1){if((l|0)>=17){l=0;break}m=a[f+l>>0]|0;e=c[j>>2]|0;n=c[e>>2]|0;c[e>>2]=n+1;a[n>>0]=m;n=e+4|0;m=(c[n>>2]|0)+ -1|0;c[n>>2]=m;if((m|0)==0?(ud[c[e+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}l=l+1|0}while(1){if((l|0)>=(k|0))break;n=a[f+l+17>>0]|0;e=c[j>>2]|0;m=c[e>>2]|0;c[e>>2]=m+1;a[m>>0]=n;m=e+4|0;n=(c[m>>2]|0)+ -1|0;c[m>>2]=n;if((n|0)==0?(ud[c[e+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}l=l+1|0}c[h>>2]=1;i=g;return}function Te(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;f=i;e=b+24|0;g=c[e>>2]|0;h=c[g>>2]|0;c[g>>2]=h+1;a[h>>0]=-1;h=g+4|0;j=(c[h>>2]|0)+ -1|0;c[h>>2]=j;if((j|0)==0?(ud[c[g+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}g=c[e>>2]|0;h=c[g>>2]|0;c[g>>2]=h+1;a[h>>0]=d;h=g+4|0;j=(c[h>>2]|0)+ -1|0;c[h>>2]=j;if((j|0)==0?(ud[c[g+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}d=b+76|0;Qe(b,((c[d>>2]|0)*3|0)+8|0);h=b+68|0;if(!((c[h>>2]|0)<=65535?(c[b+64>>2]|0)<=65535:0)){c[(c[b>>2]|0)+20>>2]=42;c[(c[b>>2]|0)+24>>2]=65535;qd[c[c[b>>2]>>2]&255](b)}g=c[e>>2]|0;j=c[b+72>>2]&255;k=c[g>>2]|0;c[g>>2]=k+1;a[k>>0]=j;k=g+4|0;j=(c[k>>2]|0)+ -1|0;c[k>>2]=j;if((j|0)==0?(ud[c[g+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}Qe(b,c[h>>2]|0);Qe(b,c[b+64>>2]|0);g=c[e>>2]|0;k=c[d>>2]&255;j=c[g>>2]|0;c[g>>2]=j+1;a[j>>0]=k;j=g+4|0;k=(c[j>>2]|0)+ -1|0;c[j>>2]=k;if((k|0)==0?(ud[c[g+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}h=0;g=c[b+84>>2]|0;while(1){if((h|0)>=(c[d>>2]|0))break;j=c[e>>2]|0;k=c[g>>2]&255;l=c[j>>2]|0;c[j>>2]=l+1;a[l>>0]=k;l=j+4|0;k=(c[l>>2]|0)+ -1|0;c[l>>2]=k;if((k|0)==0?(ud[c[j+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}j=c[e>>2]|0;l=(c[g+8>>2]<<4)+(c[g+12>>2]|0)&255;k=c[j>>2]|0;c[j>>2]=k+1;a[k>>0]=l;k=j+4|0;l=(c[k>>2]|0)+ -1|0;c[k>>2]=l;if((l|0)==0?(ud[c[j+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}j=c[e>>2]|0;l=c[g+16>>2]&255;k=c[j>>2]|0;c[j>>2]=k+1;a[k>>0]=l;k=j+4|0;l=(c[k>>2]|0)+ -1|0;c[k>>2]=l;if((l|0)==0?(ud[c[j+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}h=h+1|0;g=g+88|0}i=f;return}function Ue(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;d=c[a+392>>2]|0;f=c[d+20>>2]|0;do if((f|0)==2)e=11;else if((f|0)==1){Xe(a);Ye(a);if((c[a+364>>2]|0)==0?(c[a+372>>2]|0)!=0:0){c[d+20>>2]=2;e=d+24|0;c[e>>2]=(c[e>>2]|0)+1;e=11;break}rd[c[c[a+424>>2]>>2]&127](a,1);rd[c[c[a+404>>2]>>2]&127](a,2);c[d+12>>2]=0}else if((f|0)==0){Xe(a);Ye(a);if((c[a+208>>2]|0)==0){qd[c[c[a+412>>2]>>2]&255](a);qd[c[c[a+416>>2]>>2]&255](a);rd[c[c[a+400>>2]>>2]&127](a,0)}qd[c[c[a+420>>2]>>2]&255](a);g=a+216|0;rd[c[c[a+424>>2]>>2]&127](a,c[g>>2]|0);rd[c[c[a+404>>2]>>2]&127](a,(c[d+28>>2]|0)>1?3:0);rd[c[c[a+396>>2]>>2]&127](a,0);f=d+12|0;if((c[g>>2]|0)==0){c[f>>2]=1;break}else{c[f>>2]=0;break}}else{c[(c[a>>2]|0)+20>>2]=49;qd[c[c[a>>2]>>2]&255](a)}while(0);if((e|0)==11){if((c[a+216>>2]|0)==0){Xe(a);Ye(a)}rd[c[c[a+424>>2]>>2]&127](a,0);rd[c[c[a+404>>2]>>2]&127](a,2);e=a+408|0;if((c[d+32>>2]|0)==0)qd[c[(c[e>>2]|0)+4>>2]&255](a);qd[c[(c[e>>2]|0)+8>>2]&255](a);c[d+12>>2]=0}e=c[d+24>>2]|0;f=d+28|0;c[d+16>>2]=(e|0)==((c[f>>2]|0)+ -1|0)&1;a=a+8|0;d=c[a>>2]|0;if((d|0)==0){i=b;return}c[d+12>>2]=e;c[(c[a>>2]|0)+16>>2]=c[f>>2];i=b;return}function Ve(a){a=a|0;var b=0,d=0;b=i;c[(c[a+392>>2]|0)+12>>2]=0;d=a+408|0;qd[c[(c[d>>2]|0)+4>>2]&255](a);qd[c[(c[d>>2]|0)+8>>2]&255](a);i=b;return}function We(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;d=c[a+392>>2]|0;qd[c[(c[a+424>>2]|0)+8>>2]&255](a);e=d+20|0;f=c[e>>2]|0;if((f|0)==1)c[e>>2]=2;else if((f|0)==2){if((c[a+216>>2]|0)!=0)c[e>>2]=1;f=d+32|0;c[f>>2]=(c[f>>2]|0)+1}else if((f|0)==0?(c[e>>2]=2,(c[a+216>>2]|0)==0):0){f=d+32|0;c[f>>2]=(c[f>>2]|0)+1}f=d+24|0;c[f>>2]=(c[f>>2]|0)+1;i=b;return}function Xe(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;b=i;g=c[a+204>>2]|0;a:do if((g|0)!=0){d=c[(c[a+392>>2]|0)+32>>2]|0;e=g+(d*36|0)|0;c[a+292>>2]=c[e>>2];f=a+84|0;h=0;while(1){if((h|0)>=(c[e>>2]|0))break;c[a+(h<<2)+296>>2]=(c[f>>2]|0)+((c[g+(d*36|0)+(h<<2)+4>>2]|0)*88|0);h=h+1|0}if((c[a+268>>2]|0)!=0){c[a+364>>2]=c[g+(d*36|0)+20>>2];c[a+368>>2]=c[g+(d*36|0)+24>>2];c[a+372>>2]=c[g+(d*36|0)+28>>2];c[a+376>>2]=c[g+(d*36|0)+32>>2];i=b;return}}else{d=a+76|0;g=c[d>>2]|0;if((g|0)>4){c[(c[a>>2]|0)+20>>2]=27;c[(c[a>>2]|0)+24>>2]=c[d>>2];c[(c[a>>2]|0)+28>>2]=4;qd[c[c[a>>2]>>2]&255](a);g=c[d>>2]|0}c[a+292>>2]=g;e=a+84|0;f=0;while(1){if((f|0)>=(g|0))break a;c[a+(f<<2)+296>>2]=(c[e>>2]|0)+(f*88|0);g=c[d>>2]|0;f=f+1|0}}while(0);c[a+364>>2]=0;h=c[a+380>>2]|0;c[a+368>>2]=(da(h,h)|0)+ -1;c[a+372>>2]=0;c[a+376>>2]=0;i=b;return}function Ye(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;b=i;d=a+292|0;e=c[d>>2]|0;a:do if((e|0)==1){j=c[a+296>>2]|0;c[a+312>>2]=c[j+28>>2];h=j+32|0;c[a+316>>2]=c[h>>2];c[j+56>>2]=1;c[j+60>>2]=1;c[j+64>>2]=1;c[j+68>>2]=c[j+36>>2];c[j+72>>2]=1;g=c[j+12>>2]|0;h=((c[h>>2]|0)>>>0)%(g>>>0)|0;c[j+76>>2]=(h|0)==0?g:h;c[a+320>>2]=1;c[a+324>>2]=0}else{if((e|0)<1|(e|0)>4){c[(c[a>>2]|0)+20>>2]=27;c[(c[a>>2]|0)+24>>2]=c[d>>2];c[(c[a>>2]|0)+28>>2]=4;qd[c[c[a>>2]>>2]&255](a);h=a;g=a}else{h=a;g=a}f=c[a+380>>2]|0;e=da(c[a+272>>2]|0,f)|0;c[a+312>>2]=((c[a+64>>2]|0)+e+ -1|0)/(e|0)|0;f=da(c[a+276>>2]|0,f)|0;c[a+316>>2]=((c[a+68>>2]|0)+f+ -1|0)/(f|0)|0;f=a+320|0;c[f>>2]=0;e=0;while(1){if((e|0)>=(c[d>>2]|0))break a;k=c[a+(e<<2)+296>>2]|0;n=c[k+8>>2]|0;c[k+56>>2]=n;m=c[k+12>>2]|0;c[k+60>>2]=m;j=da(n,m)|0;c[k+64>>2]=j;c[k+68>>2]=da(n,c[k+36>>2]|0)|0;l=((c[k+28>>2]|0)>>>0)%(n>>>0)|0;c[k+72>>2]=(l|0)==0?n:l;l=((c[k+32>>2]|0)>>>0)%(m>>>0)|0;c[k+76>>2]=(l|0)==0?m:l;if(((c[f>>2]|0)+j|0)>10){c[(c[g>>2]|0)+20>>2]=14;qd[c[c[g>>2]>>2]&255](h)}while(1){if((j|0)<=0)break;n=c[f>>2]|0;c[f>>2]=n+1;c[a+(n<<2)+324>>2]=e;j=j+ -1|0}e=e+1|0}}while(0);d=c[a+240>>2]|0;if((d|0)<=0){i=b;return}n=da(d,c[a+312>>2]|0)|0;c[a+236>>2]=(n|0)<65535?n:65535;i=b;return}function Ze(a,d,e,f,g){a=a|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;j=a+20|0;if((c[j>>2]|0)!=100){c[(c[a>>2]|0)+20>>2]=21;c[(c[a>>2]|0)+24>>2]=c[j>>2];qd[c[c[a>>2]>>2]&255](a)}if((d|0)<0|(d|0)>3){c[(c[a>>2]|0)+20>>2]=32;c[(c[a>>2]|0)+24>>2]=d;qd[c[c[a>>2]>>2]&255](a)}j=a+(d<<2)+88|0;if((c[j>>2]|0)==0){d=md[c[c[a+4>>2]>>2]&63](a,0,132)|0;c[d+128>>2]=0;c[j>>2]=d}g=(g|0)!=0;a=0;while(1){if((a|0)>=64)break;d=(da(c[e+(a<<2)>>2]|0,f)|0)+50|0;if((d|0)<100)d=1;else d=(d|0)>3276799?32767:(d|0)/100|0;b[(c[j>>2]|0)+(a<<1)>>1]=g&(d|0)>255?255:d;a=a+1|0}c[(c[j>>2]|0)+128>>2]=0;i=h;return}function _e(a,b,c){a=a|0;b=b|0;c=c|0;var d=0,e=0;d=i;do if((b|0)<1){b=1;e=4}else{if((b|0)<=100){if((b|0)<50){e=4;break}}else b=100;b=200-(b<<1)|0}while(0);if((e|0)==4)b=5e3/(b|0)|0;Ze(a,0,464,b,c);Ze(a,1,720,b,c);i=d;return}function $e(d){d=d|0;var e=0,f=0,g=0;e=i;f=d+20|0;if((c[f>>2]|0)!=100){c[(c[d>>2]|0)+20>>2]=21;c[(c[d>>2]|0)+24>>2]=c[f>>2];qd[c[c[d>>2]>>2]&255](d)}f=d+84|0;if((c[f>>2]|0)==0)c[f>>2]=md[c[c[d+4>>2]>>2]&63](d,0,880)|0;c[d+56>>2]=1;c[d+60>>2]=1;f=d+72|0;c[f>>2]=8;_e(d,75,1);bf(d,d+120|0,976,1e3);bf(d,d+136|0,1056,1080);bf(d,d+124|0,1016,1040);bf(d,d+140|0,1248,1272);g=0;while(1){if((g|0)>=16)break;a[d+g+152>>0]=0;a[d+g+168>>0]=1;a[d+g+184>>0]=5;g=g+1|0}c[d+204>>2]=0;c[d+200>>2]=0;c[d+208>>2]=0;c[d+212>>2]=(c[f>>2]|0)>8&1;c[d+216>>2]=0;c[d+220>>2]=0;c[d+224>>2]=1;f=d+228|0;g=d+248|0;c[f+0>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;a[g>>0]=1;a[d+249>>0]=1;a[d+250>>0]=0;b[d+252>>1]=1;b[d+254>>1]=1;c[d+260>>2]=0;switch(c[d+40>>2]|0){case 6:{af(d,6);i=e;return};case 2:{af(d,3);i=e;return};case 3:{af(d,3);i=e;return};case 7:{af(d,7);i=e;return};case 4:{af(d,4);i=e;return};case 0:{af(d,0);i=e;return};case 5:{af(d,5);i=e;return};case 1:{af(d,1);i=e;return};default:{c[(c[d>>2]|0)+20>>2]=10;qd[c[c[d>>2]>>2]&255](d);i=e;return}}}function af(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;f=b+20|0;if((c[f>>2]|0)!=100){c[(c[b>>2]|0)+20>>2]=21;c[(c[b>>2]|0)+24>>2]=c[f>>2];qd[c[c[b>>2]>>2]&255](b)}c[b+80>>2]=d;f=b+244|0;c[f>>2]=0;g=b+256|0;c[g>>2]=0;switch(d|0){case 1:{c[f>>2]=1;c[b+76>>2]=1;g=c[b+84>>2]|0;c[g>>2]=1;c[g+8>>2]=1;c[g+12>>2]=1;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=0;i=e;return};case 6:{c[f>>2]=1;a[b+248>>0]=2;c[b+76>>2]=3;g=b+84|0;d=c[g>>2]|0;c[d>>2]=114;c[d+8>>2]=1;c[d+12>>2]=1;c[d+16>>2]=0;f=b+260|0;c[d+20>>2]=(c[f>>2]|0)==1&1;c[d+24>>2]=(c[f>>2]|0)==1&1;d=c[g>>2]|0;c[d+88>>2]=103;c[d+96>>2]=1;c[d+100>>2]=1;c[d+104>>2]=0;c[d+108>>2]=0;c[d+112>>2]=0;g=c[g>>2]|0;c[g+176>>2]=98;c[g+184>>2]=1;c[g+188>>2]=1;c[g+192>>2]=0;c[g+196>>2]=(c[f>>2]|0)==1&1;c[g+200>>2]=(c[f>>2]|0)==1&1;i=e;return};case 0:{g=c[b+36>>2]|0;d=b+76|0;c[d>>2]=g;if((g|0)<1|(g|0)>10){c[(c[b>>2]|0)+20>>2]=27;c[(c[b>>2]|0)+24>>2]=c[d>>2];c[(c[b>>2]|0)+28>>2]=10;qd[c[c[b>>2]>>2]&255](b)}b=b+84|0;f=0;while(1){if((f|0)>=(c[d>>2]|0))break;g=c[b>>2]|0;c[g+(f*88|0)>>2]=f;c[g+(f*88|0)+8>>2]=1;c[g+(f*88|0)+12>>2]=1;c[g+(f*88|0)+16>>2]=0;c[g+(f*88|0)+20>>2]=0;c[g+(f*88|0)+24>>2]=0;f=f+1|0}i=e;return};case 2:{c[g>>2]=1;c[b+76>>2]=3;g=b+84|0;d=c[g>>2]|0;c[d>>2]=82;c[d+8>>2]=1;c[d+12>>2]=1;c[d+16>>2]=0;f=b+260|0;c[d+20>>2]=(c[f>>2]|0)==1&1;c[d+24>>2]=(c[f>>2]|0)==1&1;d=c[g>>2]|0;c[d+88>>2]=71;c[d+96>>2]=1;c[d+100>>2]=1;c[d+104>>2]=0;c[d+108>>2]=0;c[d+112>>2]=0;g=c[g>>2]|0;c[g+176>>2]=66;c[g+184>>2]=1;c[g+188>>2]=1;c[g+192>>2]=0;c[g+196>>2]=(c[f>>2]|0)==1&1;c[g+200>>2]=(c[f>>2]|0)==1&1;i=e;return};case 7:{c[f>>2]=1;a[b+248>>0]=2;c[b+76>>2]=3;g=b+84|0;f=c[g>>2]|0;c[f>>2]=1;c[f+8>>2]=2;c[f+12>>2]=2;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;f=c[g>>2]|0;c[f+88>>2]=34;c[f+96>>2]=1;c[f+100>>2]=1;c[f+104>>2]=1;c[f+108>>2]=1;c[f+112>>2]=1;g=c[g>>2]|0;c[g+176>>2]=35;c[g+184>>2]=1;c[g+188>>2]=1;c[g+192>>2]=1;c[g+196>>2]=1;c[g+200>>2]=1;i=e;return};case 3:{c[f>>2]=1;c[b+76>>2]=3;g=b+84|0;f=c[g>>2]|0;c[f>>2]=1;c[f+8>>2]=2;c[f+12>>2]=2;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;f=c[g>>2]|0;c[f+88>>2]=2;c[f+96>>2]=1;c[f+100>>2]=1;c[f+104>>2]=1;c[f+108>>2]=1;c[f+112>>2]=1;g=c[g>>2]|0;c[g+176>>2]=3;c[g+184>>2]=1;c[g+188>>2]=1;c[g+192>>2]=1;c[g+196>>2]=1;c[g+200>>2]=1;i=e;return};case 4:{c[g>>2]=1;c[b+76>>2]=4;g=b+84|0;f=c[g>>2]|0;c[f>>2]=67;c[f+8>>2]=1;c[f+12>>2]=1;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;f=c[g>>2]|0;c[f+88>>2]=77;c[f+96>>2]=1;c[f+100>>2]=1;c[f+104>>2]=0;c[f+108>>2]=0;c[f+112>>2]=0;f=c[g>>2]|0;c[f+176>>2]=89;c[f+184>>2]=1;c[f+188>>2]=1;c[f+192>>2]=0;c[f+196>>2]=0;c[f+200>>2]=0;g=c[g>>2]|0;c[g+264>>2]=75;c[g+272>>2]=1;c[g+276>>2]=1;c[g+280>>2]=0;c[g+284>>2]=0;c[g+288>>2]=0;i=e;return};case 5:{c[g>>2]=1;c[b+76>>2]=4;g=b+84|0;f=c[g>>2]|0;c[f>>2]=1;c[f+8>>2]=2;c[f+12>>2]=2;c[f+16>>2]=0;c[f+20>>2]=0;c[f+24>>2]=0;f=c[g>>2]|0;c[f+88>>2]=2;c[f+96>>2]=1;c[f+100>>2]=1;c[f+104>>2]=1;c[f+108>>2]=1;c[f+112>>2]=1;f=c[g>>2]|0;c[f+176>>2]=3;c[f+184>>2]=1;c[f+188>>2]=1;c[f+192>>2]=1;c[f+196>>2]=1;c[f+200>>2]=1;g=c[g>>2]|0;c[g+264>>2]=4;c[g+272>>2]=2;c[g+276>>2]=2;c[g+280>>2]=0;c[g+284>>2]=0;c[g+288>>2]=0;i=e;return};default:{c[(c[b>>2]|0)+20>>2]=11;qd[c[c[b>>2]>>2]&255](b);i=e;return}}}function bf(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0;h=i;j=c[e>>2]|0;if((j|0)==0){j=md[c[c[b+4>>2]>>2]&63](b,0,280)|0;c[j+276>>2]=0;c[e>>2]=j}l=j+0|0;k=f+0|0;j=l+17|0;do{a[l>>0]=a[k>>0]|0;l=l+1|0;k=k+1|0}while((l|0)<(j|0));j=0;k=1;while(1){if((k|0)>=17)break;j=j+(d[f+k>>0]|0)|0;k=k+1|0}if((j|0)<1|(j|0)>256){c[(c[b>>2]|0)+20>>2]=9;qd[c[c[b>>2]>>2]&255](b)}pt((c[e>>2]|0)+17|0,g|0,j|0)|0;c[(c[e>>2]|0)+276>>2]=0;i=h;return}function cf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=i;if((b|0)==0)b=a;else{c[(c[a>>2]|0)+20>>2]=3;qd[c[c[a>>2]>>2]&255](a);b=a}e=a+4|0;f=md[c[c[e>>2]>>2]&63](b,1,64)|0;g=a+400|0;c[g>>2]=f;c[f>>2]=65;h=f+4|0;if((c[(c[a+416>>2]|0)+8>>2]|0)==0){c[h>>2]=63;g=a+76|0;k=a+280|0;h=a+272|0;j=a+276|0;l=0;a=c[a+84>>2]|0;while(1){if((l|0)>=(c[g>>2]|0))break;u=da(c[a+28>>2]|0,c[k>>2]|0)|0;u=da(u,c[h>>2]|0)|0;c[f+(l<<2)+8>>2]=Ad[c[(c[e>>2]|0)+8>>2]&31](b,1,(u|0)/(c[a+8>>2]|0)|0,c[j>>2]|0)|0;l=l+1|0;a=a+88|0}i=d;return}c[h>>2]=62;l=c[g>>2]|0;o=c[a+276>>2]|0;m=a+76|0;h=(da((c[m>>2]|0)*5|0,o)|0)<<2;h=md[c[c[e>>2]>>2]&63](b,1,h)|0;q=a+280|0;r=a+272|0;p=o*3|0;n=o*12|0;g=o<<1;f=o<<2;k=o*5|0;j=0;u=c[a+84>>2]|0;while(1){if((j|0)>=(c[m>>2]|0))break;s=da(c[u+28>>2]|0,c[q>>2]|0)|0;s=da(s,c[r>>2]|0)|0;s=Ad[c[(c[e>>2]|0)+8>>2]&31](b,1,(s|0)/(c[u+8>>2]|0)|0,p)|0;t=h+(o<<2)|0;pt(t|0,s|0,n|0)|0;a=0;while(1){if((a|0)>=(o|0))break;c[h+(a<<2)>>2]=c[s+(g+a<<2)>>2];c[h+(f+a<<2)>>2]=c[s+(a<<2)>>2];a=a+1|0}c[l+(j<<2)+8>>2]=t;j=j+1|0;h=h+(k<<2)|0;u=u+88|0}i=d;return}function df(a,b){a=a|0;b=b|0;var d=0,e=0;d=i;e=c[a+400>>2]|0;if((b|0)!=0){c[(c[a>>2]|0)+20>>2]=3;qd[c[c[a>>2]>>2]&255](a)}c[e+48>>2]=c[a+32>>2];c[e+52>>2]=0;c[e+56>>2]=0;c[e+60>>2]=c[a+276>>2]<<1;i=d;return}function ef(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;w=i;l=c[a+400>>2]|0;p=a+276|0;v=(c[p>>2]|0)*3|0;o=l+48|0;s=l+60|0;k=l+52|0;q=a+412|0;r=l+8|0;j=a+32|0;n=a+76|0;m=a+28|0;t=a+416|0;u=l+56|0;while(1){if(!((c[g>>2]|0)>>>0<h>>>0)){y=31;break}A=c[d>>2]|0;if(!(A>>>0<e>>>0)){if((c[o>>2]|0)!=0){y=31;break}B=c[k>>2]|0;A=c[s>>2]|0;if((B|0)<(A|0)){H=0;while(1){if((H|0)>=(c[n>>2]|0))break;C=c[l+(H<<2)+8>>2]|0;E=c[m>>2]|0;F=c[k>>2]|0;D=c[s>>2]|0;B=C+(F+ -1<<2)|0;while(1){if((F|0)>=(D|0))break;A=B;G=C+(F<<2)|0;I=1;while(1){if((I|0)<=0)break;pt(c[G>>2]|0,c[A>>2]|0,E|0)|0;A=A+4|0;G=G+4|0;I=I+ -1|0}F=F+1|0}H=H+1|0}c[k>>2]=c[s>>2]}else{z=B;x=A;y=25}}else{x=e-A|0;I=c[k>>2]|0;H=(c[s>>2]|0)-I|0;x=H>>>0<x>>>0?H:x;od[c[(c[q>>2]|0)+4>>2]&127](a,b+(A<<2)|0,r,I,x);a:do if((c[o>>2]|0)==(c[j>>2]|0)){y=0;while(1){if((y|0)>=(c[n>>2]|0))break a;z=l+(y<<2)+8|0;A=1;while(1){if((A|0)>(c[p>>2]|0))break;C=c[z>>2]|0;B=c[m>>2]|0;D=C;C=C+(0-A<<2)|0;E=1;while(1){if((E|0)<=0)break;pt(c[C>>2]|0,c[D>>2]|0,B|0)|0;D=D+4|0;C=C+4|0;E=E+ -1|0}A=A+1|0}y=y+1|0}}while(0);c[d>>2]=(c[d>>2]|0)+x;z=(c[k>>2]|0)+x|0;c[k>>2]=z;c[o>>2]=(c[o>>2]|0)-x;x=c[s>>2]|0;y=25}if((y|0)==25?(y=0,(z|0)!=(x|0)):0)continue;od[c[(c[t>>2]|0)+4>>2]&127](a,r,c[u>>2]|0,f,c[g>>2]|0);c[g>>2]=(c[g>>2]|0)+1;I=(c[u>>2]|0)+(c[p>>2]|0)|0;c[u>>2]=I;if((I|0)>=(v|0))c[u>>2]=0;A=c[k>>2]|0;if((A|0)>=(v|0)){c[k>>2]=0;A=0}c[s>>2]=A+(c[p>>2]|0)}if((y|0)==31){i=w;return}}function ff(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;j=i;l=c[a+400>>2]|0;n=a+276|0;r=l+52|0;s=a+412|0;q=l+8|0;o=l+48|0;k=a+76|0;p=a+28|0;m=a+416|0;while(1){t=c[d>>2]|0;if(!(t>>>0<e>>>0)){l=29;break}if(!((c[g>>2]|0)>>>0<h>>>0)){l=29;break}B=e-t|0;A=c[r>>2]|0;z=(c[n>>2]|0)-A|0;B=z>>>0<B>>>0?z:B;od[c[(c[s>>2]|0)+4>>2]&127](a,b+(t<<2)|0,q,A,B);c[d>>2]=(c[d>>2]|0)+B;t=(c[r>>2]|0)+B|0;c[r>>2]=t;A=c[o>>2]|0;c[o>>2]=A-B;if((A|0)==(B|0)?(t|0)<(c[n>>2]|0):0){w=0;while(1){if((w|0)>=(c[k>>2]|0))break;z=c[l+(w<<2)+8>>2]|0;B=c[p>>2]|0;x=c[r>>2]|0;A=c[n>>2]|0;y=z+(x+ -1<<2)|0;while(1){if((x|0)>=(A|0))break;u=y;v=z+(x<<2)|0;t=1;while(1){if((t|0)<=0)break;pt(c[v>>2]|0,c[u>>2]|0,B|0)|0;u=u+4|0;v=v+4|0;t=t+ -1|0}x=x+1|0}w=w+1|0}t=c[n>>2]|0;c[r>>2]=t}if((t|0)==(c[n>>2]|0)){od[c[(c[m>>2]|0)+4>>2]&127](a,q,0,f,c[g>>2]|0);c[r>>2]=0;c[g>>2]=(c[g>>2]|0)+1}if((c[o>>2]|0)!=0)continue;if((c[g>>2]|0)>>>0<h>>>0){l=19;break}}if((l|0)==19){l=a+284|0;m=0;n=c[a+84>>2]|0;while(1){if((m|0)>=(c[k>>2]|0))break;q=da(c[n+12>>2]|0,c[n+40>>2]|0)|0;q=(q|0)/(c[l>>2]|0)|0;p=c[f+(m<<2)>>2]|0;b=da(c[n+28>>2]|0,c[n+36>>2]|0)|0;e=da(c[g>>2]|0,q)|0;q=da(q,h)|0;r=p+(e+ -1<<2)|0;while(1){if((e|0)>=(q|0))break;o=r;d=p+(e<<2)|0;a=1;while(1){if((a|0)<=0)break;pt(c[d>>2]|0,c[o>>2]|0,b|0)|0;o=o+4|0;d=d+4|0;a=a+ -1|0}e=e+1|0}m=m+1|0;n=n+88|0}c[g>>2]=h;i=j;return}else if((l|0)==29){i=j;return}}function gf(a){a=a|0;return}function hf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;k=c[a+416>>2]|0;h=a+76|0;j=0;l=c[a+84>>2]|0;while(1){if((j|0)>=(c[h>>2]|0))break;m=(c[e+(j<<2)>>2]|0)+((da(c[k+(j<<2)+52>>2]|0,f)|0)<<2)|0;Fd[c[k+(j<<2)+12>>2]&63](a,l,(c[b+(j<<2)>>2]|0)+(d<<2)|0,m);j=j+1|0;l=l+88|0}i=g;return}function jf(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;h=i;p=da(c[e+28>>2]|0,c[e+36>>2]|0)|0;e=b+276|0;pf(f+ -4|0,(c[e>>2]|0)+2|0,c[b+28>>2]|0,p);j=c[b+228>>2]|0;k=65536-(j<<9)|0;j=j<<6;b=p+ -2|0;p=0;while(1){if((p|0)>=(c[e>>2]|0))break;s=c[g+(p<<2)>>2]|0;r=c[f+(p<<2)>>2]|0;t=c[f+(p+ -1<<2)>>2]|0;p=p+1|0;m=c[f+(p<<2)>>2]|0;q=t+1|0;l=m+1|0;m=(d[t>>0]|0)+(d[m>>0]|0)|0;t=d[r>>0]|0;n=m+t|0;r=r+1|0;o=(d[q>>0]|0)+(d[l>>0]|0)+(d[r>>0]|0)|0;a[s>>0]=((da(t,k)|0)+(da(n+m+o|0,j)|0)+32768|0)>>>16;m=b;while(1){s=s+1|0;if((m|0)==0)break;u=r+1|0;t=d[r>>0]|0;x=q+1|0;w=l+1|0;v=(d[x>>0]|0)+(d[w>>0]|0)+(d[u>>0]|0)|0;a[s>>0]=((da(t,k)|0)+(da(n+(o-t)+v|0,j)|0)+32768|0)>>>16;t=o;q=x;l=w;o=v;r=u;m=m+ -1|0;n=t}x=d[r>>0]|0;a[s>>0]=((da(x,k)|0)+(da(n+(o-x)+o|0,j)|0)+32768|0)>>>16}i=h;return}function kf(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;g=a+276|0;a=a+28|0;h=c[a>>2]|0;j=e;k=c[g>>2]|0;while(1){if((k|0)<=0)break;pt(c[j>>2]|0,c[d>>2]|0,h|0)|0;d=d+4|0;j=j+4|0;k=k+ -1|0}pf(e,c[g>>2]|0,c[a>>2]|0,da(c[b+28>>2]|0,c[b+36>>2]|0)|0);i=f;return}
function Is(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=i;a[b+53>>0]=1;if((c[b+4>>2]|0)!=(e|0)){i=g;return}a[b+52>>0]=1;e=b+16|0;h=c[e>>2]|0;if((h|0)==0){c[e>>2]=d;c[b+24>>2]=f;c[b+36>>2]=1;if(!((f|0)==1?(c[b+48>>2]|0)==1:0)){i=g;return}a[b+54>>0]=1;i=g;return}if((h|0)!=(d|0)){h=b+36|0;c[h>>2]=(c[h>>2]|0)+1;a[b+54>>0]=1;i=g;return}d=b+24|0;e=c[d>>2]|0;if((e|0)==2)c[d>>2]=f;else f=e;if(!((f|0)==1?(c[b+48>>2]|0)==1:0)){i=g;return}a[b+54>>0]=1;i=g;return}function Js(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;h=i;if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)!=(e|0)){i=h;return}e=d+28|0;if((c[e>>2]|0)==1){i=h;return}c[e>>2]=f;i=h;return}if((b|0)!=(c[d>>2]|0)){u=c[b+12>>2]|0;m=b+(u<<3)+16|0;Ls(b+16|0,d,e,f,g);n=b+24|0;if((u|0)<=1){i=h;return}p=c[b+8>>2]|0;if((p&2|0)==0?(o=d+36|0,(c[o>>2]|0)!=1):0){if((p&1|0)==0){q=d+54|0;p=n;while(1){if((a[q>>0]|0)!=0){p=43;break}if((c[o>>2]|0)==1){p=43;break}Ls(p,d,e,f,g);p=p+8|0;if(!(p>>>0<m>>>0)){p=43;break}}if((p|0)==43){i=h;return}}p=d+24|0;q=d+54|0;r=n;while(1){if((a[q>>0]|0)!=0){p=43;break}if((c[o>>2]|0)==1?(c[p>>2]|0)==1:0){p=43;break}Ls(r,d,e,f,g);r=r+8|0;if(!(r>>>0<m>>>0)){p=43;break}}if((p|0)==43){i=h;return}}o=d+54|0;while(1){if((a[o>>0]|0)!=0){p=43;break}Ls(n,d,e,f,g);n=n+8|0;if(!(n>>>0<m>>>0)){p=43;break}}if((p|0)==43){i=h;return}}if((c[d+16>>2]|0)!=(e|0)?(j=d+20|0,(c[j>>2]|0)!=(e|0)):0){c[d+32>>2]=f;m=d+44|0;if((c[m>>2]|0)==4){i=h;return}u=c[b+12>>2]|0;t=b+(u<<3)+16|0;a:do if((u|0)>0){o=d+52|0;n=d+53|0;r=d+54|0;q=b+8|0;p=d+24|0;u=0;s=0;b=b+16|0;b:do{a[o>>0]=0;a[n>>0]=0;Ks(b,d,e,e,1,g);if((a[r>>0]|0)!=0)break;do if((a[n>>0]|0)!=0){if((a[o>>0]|0)==0)if((c[q>>2]&1|0)==0){s=1;break b}else{s=1;break}if((c[p>>2]|0)==1){p=25;break a}if((c[q>>2]&2|0)==0){p=25;break a}else{u=1;s=1}}while(0);b=b+8|0}while(b>>>0<t>>>0);if(u){l=s;p=24}else{k=s;p=21}}else{k=0;p=21}while(0);if((p|0)==21){c[j>>2]=e;u=d+40|0;c[u>>2]=(c[u>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0){a[d+54>>0]=1;if(k)p=25;else p=26}else{l=k;p=24}}if((p|0)==24)if(l)p=25;else p=26;if((p|0)==25){c[m>>2]=3;i=h;return}else if((p|0)==26){c[m>>2]=4;i=h;return}}if((f|0)!=1){i=h;return}c[d+32>>2]=1;i=h;return}function Ks(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0;h=i;j=c[a+4>>2]|0;k=j>>8;if((j&1|0)!=0)k=c[(c[e>>2]|0)+k>>2]|0;a=c[a>>2]|0;Cd[c[(c[a>>2]|0)+20>>2]&63](a,b,d,e+k|0,(j&2|0)!=0?f:2,g);i=h;return}function Ls(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;g=i;h=c[a+4>>2]|0;j=h>>8;if((h&1|0)!=0)j=c[(c[d>>2]|0)+j>>2]|0;a=c[a>>2]|0;od[c[(c[a>>2]|0)+24>>2]&127](a,b,d+j|0,(h&2|0)!=0?e:2,f);i=g;return}function Ms(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;if((b|0)==(c[d+8>>2]|0)){if((c[d+4>>2]|0)!=(e|0)){i=h;return}j=d+28|0;if((c[j>>2]|0)==1){i=h;return}c[j>>2]=f;i=h;return}if((b|0)!=(c[d>>2]|0)){l=c[b+8>>2]|0;od[c[(c[l>>2]|0)+24>>2]&127](l,d,e,f,g);i=h;return}if((c[d+16>>2]|0)!=(e|0)?(k=d+20|0,(c[k>>2]|0)!=(e|0)):0){c[d+32>>2]=f;f=d+44|0;if((c[f>>2]|0)==4){i=h;return}l=d+52|0;a[l>>0]=0;m=d+53|0;a[m>>0]=0;b=c[b+8>>2]|0;Cd[c[(c[b>>2]|0)+20>>2]&63](b,d,e,e,1,g);if((a[m>>0]|0)!=0){if((a[l>>0]|0)==0){b=1;j=13}}else{b=0;j=13}do if((j|0)==13){c[k>>2]=e;m=d+40|0;c[m>>2]=(c[m>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0){a[d+54>>0]=1;if(b)break}else j=16;if((j|0)==16?b:0)break;c[f>>2]=4;i=h;return}while(0);c[f>>2]=3;i=h;return}if((f|0)!=1){i=h;return}c[d+32>>2]=1;i=h;return}function Ns(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;g=i;if((c[d+8>>2]|0)==(b|0)){if((c[d+4>>2]|0)!=(e|0)){i=g;return}d=d+28|0;if((c[d>>2]|0)==1){i=g;return}c[d>>2]=f;i=g;return}if((c[d>>2]|0)!=(b|0)){i=g;return}if((c[d+16>>2]|0)!=(e|0)?(h=d+20|0,(c[h>>2]|0)!=(e|0)):0){c[d+32>>2]=f;c[h>>2]=e;b=d+40|0;c[b>>2]=(c[b>>2]|0)+1;if((c[d+36>>2]|0)==1?(c[d+24>>2]|0)==2:0)a[d+54>>0]=1;c[d+44>>2]=4;i=g;return}if((f|0)!=1){i=g;return}c[d+32>>2]=1;i=g;return}function Os(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;m=i;if((b|0)==(c[d+8>>2]|0)){Is(d,e,f,g);i=m;return}j=d+52|0;l=a[j>>0]|0;o=d+53|0;n=a[o>>0]|0;r=c[b+12>>2]|0;p=b+(r<<3)+16|0;a[j>>0]=0;a[o>>0]=0;Ks(b+16|0,d,e,f,g,h);a:do if((r|0)>1){k=d+24|0;q=b+8|0;r=d+54|0;b=b+24|0;do{if((a[r>>0]|0)!=0)break a;if((a[j>>0]|0)==0){if((a[o>>0]|0)!=0?(c[q>>2]&1|0)==0:0)break a}else{if((c[k>>2]|0)==1)break a;if((c[q>>2]&2|0)==0)break a}a[j>>0]=0;a[o>>0]=0;Ks(b,d,e,f,g,h);b=b+8|0}while(b>>>0<p>>>0)}while(0);a[j>>0]=l;a[o>>0]=n;i=m;return}function Ps(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=i;if((a|0)==(c[b+8>>2]|0)){Is(b,d,e,f);i=h;return}else{a=c[a+8>>2]|0;Cd[c[(c[a>>2]|0)+20>>2]&63](a,b,d,e,f,g);i=h;return}}function Qs(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;g=i;if((c[b+8>>2]|0)!=(a|0)){i=g;return}Is(b,d,e,f);i=g;return}function Rs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=c[d>>2];a=md[c[(c[a>>2]|0)+16>>2]&63](a,b,f)|0;b=a&1;if(!a){i=e;return b|0}c[d>>2]=c[f>>2];i=e;return b|0}function Ss(a){a=a|0;var b=0;b=i;if((a|0)==0)a=0;else a=(Hs(a,25608)|0)!=0;i=b;return a&1|0}function Ts(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;b=i;do if(a>>>0<245){Eif(a>>>0<11)a=16;else a=a+11&-8;v=a>>>3;p=c[6548]|0;w=p>>>v;Iif((w&3|0)!=0){h=(w&1^1)+v|0;g=h<<1;e=26232+(g<<2)|0;g=26232+(g+2<<2)|0;j=c[g>>2]|0;d=j+8|0;f=c[d>>2]|0;do if((e|0)!=(f|0)){if(f>>>0<(c[6552]|0)>>>0)tc();k=f+12|0;if((c[k>>2]|0)==(j|0)){c[k>>2]=e;c[g>>2]=f;break}else tc()}else c[6548]=p&~(1<<h);while(0);H=h<<3;c[j+4>>2]=H|3;H=j+(H|4)|0;c[H>>2]=c[H>>2]|1;H=d;i=b;return H|0}Eif(a>>>0>(c[6550]|0)>>>0){Iif((w|0)!=0){h=2<<v;h=w<<v&(h|0-h);h=(h&0-h)+ -1|0;d=h>>>12&16;h=h>>>d;f=h>>>5&8;h=h>>>f;g=h>>>2&4;h=h>>>g;e=h>>>1&2;h=h>>>e;j=h>>>1&1;j=(f|d|g|e|j)+(h>>>j)|0;h=j<<1;e=26232+(h<<2)|0;h=26232+(h+2<<2)|0;g=c[h>>2]|0;d=g+8|0;f=c[d>>2]|0;do if((e|0)!=(f|0)){if(f>>>0<(c[6552]|0)>>>0)tc();k=f+12|0;if((c[k>>2]|0)==(g|0)){c[k>>2]=e;c[h>>2]=f;break}else tc()}else c[6548]=p&~(1<<j);while(0);h=j<<3;f=h-a|0;c[g+4>>2]=a|3;e=g+a|0;c[g+(a|4)>>2]=f|1;c[g+h>>2]=f;h=c[6550]|0;if((h|0)!=0){g=c[6553]|0;k=h>>>3;j=k<<1;h=26232+(j<<2)|0;l=c[6548]|0;k=1<<k;if((l&k|0)!=0){j=26232+(j+2<<2)|0;k=c[j>>2]|0;if(k>>>0<(c[6552]|0)>>>0)tc();else{D=j;C=k}}else{c[6548]=l|k;D=26232+(j+2<<2)|0;C=h}c[D>>2]=g;c[C+12>>2]=g;c[g+8>>2]=C;c[g+12>>2]=h}c[6550]=f;c[6553]=e;H=d;i=b;return H|0}p=c[6549]|0;Iif((p|0)!=0){e=(p&0-p)+ -1|0;G=e>>>12&16;e=e>>>G;F=e>>>5&8;e=e>>>F;H=e>>>2&4;e=e>>>H;f=e>>>1&2;e=e>>>f;d=e>>>1&1;d=c[26496+((F|G|H|f|d)+(e>>>d)<<2)>>2]|0;e=(c[d+4>>2]&-8)-a|0;f=d;while(1){g=c[f+16>>2]|0;if((g|0)==0){g=c[f+20>>2]|0;if((g|0)==0)break}f=(c[g+4>>2]&-8)-a|0;H=f>>>0<e>>>0;e=H?f:e;f=g;d=H?g:d}h=c[6552]|0;if(d>>>0<h>>>0)tc();f=d+a|0;if(!(d>>>0<f>>>0))tc();g=c[d+24>>2]|0;k=c[d+12>>2]|0;do if((k|0)==(d|0)){k=d+20|0;j=c[k>>2]|0;if((j|0)==0){k=d+16|0;j=c[k>>2]|0;if((j|0)==0){B=0;break}}while(1){l=j+20|0;m=c[l>>2]|0;if((m|0)!=0){j=m;k=l;continue}m=j+16|0;l=c[m>>2]|0;if((l|0)==0)break;else{j=l;k=m}}if(k>>>0<h>>>0)tc();else{c[k>>2]=0;B=j;break}}else{j=c[d+8>>2]|0;if(j>>>0<h>>>0)tc();h=j+12|0;if((c[h>>2]|0)!=(d|0))tc();l=k+8|0;if((c[l>>2]|0)==(d|0)){c[h>>2]=k;c[l>>2]=j;B=k;break}else tc()}while(0);do if((g|0)!=0){h=c[d+28>>2]|0;j=26496+(h<<2)|0;if((d|0)==(c[j>>2]|0)){c[j>>2]=B;if((B|0)==0){c[6549]=c[6549]&~(1<<h);break}}else{if(g>>>0<(c[6552]|0)>>>0)tc();h=g+16|0;if((c[h>>2]|0)==(d|0))c[h>>2]=B;else c[g+20>>2]=B;if((B|0)==0)break}if(B>>>0<(c[6552]|0)>>>0)tc();c[B+24>>2]=g;g=c[d+16>>2]|0;do if((g|0)!=0)if(g>>>0<(c[6552]|0)>>>0)tc();else{c[B+16>>2]=g;c[g+24>>2]=B;break}while(0);g=c[d+20>>2]|0;if((g|0)!=0)if(g>>>0<(c[6552]|0)>>>0)tc();else{c[B+20>>2]=g;c[g+24>>2]=B;break}}while(0);if(e>>>0<16){H=e+a|0;c[d+4>>2]=H|3;H=d+(H+4)|0;c[H>>2]=c[H>>2]|1}else{c[d+4>>2]=a|3;c[d+(a|4)>>2]=e|1;c[d+(e+a)>>2]=e;h=c[6550]|0;if((h|0)!=0){g=c[6553]|0;l=h>>>3;j=l<<1;h=26232+(j<<2)|0;k=c[6548]|0;l=1<<l;if((k&l|0)!=0){j=26232+(j+2<<2)|0;k=c[j>>2]|0;if(k>>>0<(c[6552]|0)>>>0)tc();else{A=j;z=k}}else{c[6548]=k|l;A=26232+(j+2<<2)|0;z=h}c[A>>2]=g;c[z+12>>2]=g;c[g+8>>2]=z;c[g+12>>2]=h}c[6550]=e;c[6553]=f}H=d+8|0;i=b;return H|0}}}else Eif(!(a>>>0>4294967231)){z=a+11|0;a=z&-8;B=c[6549]|0;Iif((B|0)!=0){A=0-a|0;z=z>>>8;if((z|0)!=0)if(a>>>0>16777215)C=31;else{G=(z+1048320|0)>>>16&8;H=z<<G;F=(H+520192|0)>>>16&4;H=H<<F;C=(H+245760|0)>>>16&2;C=14-(F|G|C)+(H<<C>>>15)|0;C=a>>>(C+7|0)&1|C<<1}else C=0;D=c[26496+(C<<2)>>2]|0;a:do if((D|0)==0){F=0;z=0}else{if((C|0)==31)z=0;else z=25-(C>>>1)|0;F=0;E=a<<z;z=0;while(1){H=c[D+4>>2]&-8;G=H-a|0;if(G>>>0<A>>>0)if((H|0)==(a|0)){A=G;F=D;z=D;break a}else{A=G;z=D}H=c[D+20>>2]|0;D=c[D+(E>>>31<<2)+16>>2]|0;F=(H|0)==0|(H|0)==(D|0)?F:H;if((D|0)==0)break;else E=E<<1}}while(0);if((F|0)==0&(z|0)==0){H=2<<C;B=B&(H|0-H);if((B|0)==0)break;H=(B&0-B)+ -1|0;D=H>>>12&16;H=H>>>D;C=H>>>5&8;H=H>>>C;E=H>>>2&4;H=H>>>E;G=H>>>1&2;H=H>>>G;F=H>>>1&1;F=c[26496+((C|D|E|G|F)+(H>>>F)<<2)>>2]|0}if((F|0)!=0)while(1){H=(c[F+4>>2]&-8)-a|0;B=H>>>0<A>>>0;A=B?H:A;z=B?F:z;B=c[F+16>>2]|0;if((B|0)!=0){F=B;continue}F=c[F+20>>2]|0;if((F|0)==0)break}if((z|0)!=0?A>>>0<((c[6550]|0)-a|0)>>>0:0){f=c[6552]|0;if(z>>>0<f>>>0)tc();d=z+a|0;if(!(z>>>0<d>>>0))tc();e=c[z+24>>2]|0;h=c[z+12>>2]|0;do if((h|0)==(z|0)){h=z+20|0;g=c[h>>2]|0;if((g|0)==0){h=z+16|0;g=c[h>>2]|0;if((g|0)==0){x=0;break}}while(1){j=g+20|0;k=c[j>>2]|0;if((k|0)!=0){g=k;h=j;continue}j=g+16|0;k=c[j>>2]|0;if((k|0)==0)break;else{g=k;h=j}}if(h>>>0<f>>>0)tc();else{c[h>>2]=0;x=g;break}}else{g=c[z+8>>2]|0;if(g>>>0<f>>>0)tc();f=g+12|0;if((c[f>>2]|0)!=(z|0))tc();j=h+8|0;if((c[j>>2]|0)==(z|0)){c[f>>2]=h;c[j>>2]=g;x=h;break}else tc()}while(0);do if((e|0)!=0){g=c[z+28>>2]|0;f=26496+(g<<2)|0;if((z|0)==(c[f>>2]|0)){c[f>>2]=x;if((x|0)==0){c[6549]=c[6549]&~(1<<g);break}}else{if(e>>>0<(c[6552]|0)>>>0)tc();f=e+16|0;if((c[f>>2]|0)==(z|0))c[f>>2]=x;else c[e+20>>2]=x;if((x|0)==0)break}if(x>>>0<(c[6552]|0)>>>0)tc();c[x+24>>2]=e;e=c[z+16>>2]|0;do if((e|0)!=0)if(e>>>0<(c[6552]|0)>>>0)tc();else{c[x+16>>2]=e;c[e+24>>2]=x;break}while(0);e=c[z+20>>2]|0;if((e|0)!=0)if(e>>>0<(c[6552]|0)>>>0)tc();else{c[x+20>>2]=e;c[e+24>>2]=x;break}}while(0);b:do if(!(A>>>0<16)){c[z+4>>2]=a|3;c[z+(a|4)>>2]=A|1;c[z+(A+a)>>2]=A;f=A>>>3;if(A>>>0<256){h=f<<1;e=26232+(h<<2)|0;g=c[6548]|0;f=1<<f;do if((g&f|0)==0){c[6548]=g|f;w=26232+(h+2<<2)|0;v=e}else{f=26232+(h+2<<2)|0;g=c[f>>2]|0;if(!(g>>>0<(c[6552]|0)>>>0)){w=f;v=g;break}tc()}while(0);c[w>>2]=d;c[v+12>>2]=d;c[z+(a+8)>>2]=v;c[z+(a+12)>>2]=e;break}e=A>>>8;if((e|0)!=0)if(A>>>0>16777215)e=31;else{G=(e+1048320|0)>>>16&8;H=e<<G;F=(H+520192|0)>>>16&4;H=H<<F;e=(H+245760|0)>>>16&2;e=14-(F|G|e)+(H<<e>>>15)|0;e=A>>>(e+7|0)&1|e<<1}else e=0;f=26496+(e<<2)|0;c[z+(a+28)>>2]=e;c[z+(a+20)>>2]=0;c[z+(a+16)>>2]=0;h=c[6549]|0;g=1<<e;if((h&g|0)==0){c[6549]=h|g;c[f>>2]=d;c[z+(a+24)>>2]=f;c[z+(a+12)>>2]=d;c[z+(a+8)>>2]=d;break}f=c[f>>2]|0;if((e|0)==31)e=0;else e=25-(e>>>1)|0;c:do if((c[f+4>>2]&-8|0)!=(A|0)){e=A<<e;while(1){g=f+(e>>>31<<2)+16|0;h=c[g>>2]|0;if((h|0)==0)break;if((c[h+4>>2]&-8|0)==(A|0)){p=h;break c}else{e=e<<1;f=h}}if(g>>>0<(c[6552]|0)>>>0)tc();else{c[g>>2]=d;c[z+(a+24)>>2]=f;c[z+(a+12)>>2]=d;c[z+(a+8)>>2]=d;break b}}else p=f;while(0);f=p+8|0;e=c[f>>2]|0;g=c[6552]|0;if(p>>>0<g>>>0)tc();if(e>>>0<g>>>0)tc();else{c[e+12>>2]=d;c[f>>2]=d;c[z+(a+8)>>2]=e;c[z+(a+12)>>2]=p;c[z+(a+24)>>2]=0;break}}else{H=A+a|0;c[z+4>>2]=H|3;H=z+(H+4)|0;c[H>>2]=c[H>>2]|1}while(0);H=z+8|0;i=b;return H|0}}}else a=-1;while(0);p=c[6550]|0;Iif(!(a>>>0>p>>>0)){e=p-a|0;d=c[6553]|0;if(e>>>0>15){c[6553]=d+a;c[6550]=e;c[d+(a+4)>>2]=e|1;c[d+p>>2]=e;c[d+4>>2]=a|3}else{c[6550]=0;c[6553]=0;c[d+4>>2]=p|3;H=d+(p+4)|0;c[H>>2]=c[H>>2]|1}H=d+8|0;i=b;return H|0}p=c[6551]|0;if(a>>>0<p>>>0){G=p-a|0;c[6551]=G;H=c[6554]|0;c[6554]=H+a;c[H+(a+4)>>2]=G|1;c[H+4>>2]=a|3;H=H+8|0;i=b;return H|0}do Eif((c[6666]|0)==0){p=Ra(30)|0;Eif((p+ -1&p|0)==0){c[6668]=p;c[6667]=p;c[6669]=-1;c[6670]=-1;c[6671]=0;c[6659]=0;c[6666]=(Mb(0)|0)&-16^1431655768;break}else tc()}while(0);w=a+48|0;p=c[6668]|0;x=a+47|0;z=p+x|0;p=0-p|0;v=z&p;Iif(!(v>>>0>a>>>0)){H=0;i=b;return H|0}A=c[6658]|0;Iif((A|0)!=0?(G=c[6656]|0,H=G+v|0,H>>>0<=G>>>0|H>>>0>A>>>0):0){H=0;i=b;return H|0}d:do Eif((c[6659]&4|0)==0){B=c[6554]|0;e:do Iif((B|0)!=0){A=26640|0;while(1){C=c[A>>2]|0;if(!(C>>>0>B>>>0)?(y=A+4|0,(C+(c[y>>2]|0)|0)>>>0>B>>>0):0)break;A=c[A+8>>2]|0;if((A|0)==0){o=182;break e}}if((A|0)!=0){B=z-(c[6551]|0)&p;if(B>>>0<2147483647){p=Na(B|0)|0;A=(p|0)==((c[A>>2]|0)+(c[y>>2]|0)|0);y=p;z=B;p=A?p:-1;A=A?B:0;o=191}else A=0}else o=182}else o=182;while(0);do Eif((o|0)==182){p=Na(0)|0;Eif((p|0)!=(-1|0)){z=p;A=c[6667]|0;y=A+ -1|0;Eif((y&z|0)==0)A=v;else A=v-z+(y+z&0-A)|0;y=c[6656]|0;z=y+A|0;Eif(A>>>0>a>>>0&A>>>0<2147483647){H=c[6658]|0;Iif((H|0)!=0?z>>>0<=y>>>0|z>>>0>H>>>0:0){A=0;break}y=Na(A|0)|0;o=(y|0)==(p|0);z=A;p=o?p:-1;A=o?A:0;o=191}else A=0}else A=0}while(0);f:do Eif((o|0)==191){o=0-z|0;Eif((p|0)!=(-1|0)){q=A;o=202;break d}do if((y|0)!=(-1|0)&z>>>0<2147483647&z>>>0<w>>>0?(u=c[6668]|0,u=x-z+u&0-u,u>>>0<2147483647):0)if((Na(u|0)|0)==(-1|0)){Na(o|0)|0;break f}else{z=u+z|0;break}while(0);if((y|0)!=(-1|0)){p=y;q=z;o=202;break d}}while(0);c[6659]=c[6659]|4;o=199}else{A=0;o=199}while(0);Iif((((o|0)==199?v>>>0<2147483647:0)?(t=Na(v|0)|0,s=Na(0)|0,(s|0)!=(-1|0)&(t|0)!=(-1|0)&t>>>0<s>>>0):0)?(r=s-t|0,q=r>>>0>(a+40|0)>>>0,q):0){p=t;q=q?r:A;o=202}Eif((o|0)==202){r=(c[6656]|0)+q|0;c[6656]=r;Eif(r>>>0>(c[6657]|0)>>>0)c[6657]=r;r=c[6554]|0;g:do Iif((r|0)!=0){v=26640|0;while(1){t=c[v>>2]|0;u=v+4|0;s=c[u>>2]|0;if((p|0)==(t+s|0)){o=214;break}w=c[v+8>>2]|0;if((w|0)==0)break;else v=w}if(((o|0)==214?(c[v+12>>2]&8|0)==0:0)?r>>>0>=t>>>0&r>>>0<p>>>0:0){c[u>>2]=s+q;d=(c[6551]|0)+q|0;e=r+8|0;if((e&7|0)==0)e=0;else e=0-e&7;H=d-e|0;c[6554]=r+e;c[6551]=H;c[r+(e+4)>>2]=H|1;c[r+(d+4)>>2]=40;c[6555]=c[6670];break}if(p>>>0<(c[6552]|0)>>>0)c[6552]=p;t=p+q|0;s=26640|0;while(1){if((c[s>>2]|0)==(t|0)){o=224;break}u=c[s+8>>2]|0;if((u|0)==0)break;else s=u}if((o|0)==224?(c[s+12>>2]&8|0)==0:0){c[s>>2]=p;h=s+4|0;c[h>>2]=(c[h>>2]|0)+q;h=p+8|0;if((h&7|0)==0)h=0;else h=0-h&7;j=p+(q+8)|0;if((j&7|0)==0)n=0;else n=0-j&7;o=p+(n+q)|0;j=h+a|0;k=p+j|0;m=o-(p+h)-a|0;c[p+(h+4)>>2]=a|3;h:do if((o|0)!=(c[6554]|0)){if((o|0)==(c[6553]|0)){H=(c[6550]|0)+m|0;c[6550]=H;c[6553]=k;c[p+(j+4)>>2]=H|1;c[p+(H+j)>>2]=H;break}r=q+4|0;t=c[p+(r+n)>>2]|0;if((t&3|0)==1){a=t&-8;s=t>>>3;i:do if(!(t>>>0<256)){l=c[p+((n|24)+q)>>2]|0;u=c[p+(q+12+n)>>2]|0;do if((u|0)==(o|0)){u=n|16;t=p+(r+u)|0;s=c[t>>2]|0;if((s|0)==0){t=p+(u+q)|0;s=c[t>>2]|0;if((s|0)==0){g=0;break}}while(1){u=s+20|0;v=c[u>>2]|0;if((v|0)!=0){s=v;t=u;continue}u=s+16|0;v=c[u>>2]|0;if((v|0)==0)break;else{s=v;t=u}}if(t>>>0<(c[6552]|0)>>>0)tc();else{c[t>>2]=0;g=s;break}}else{t=c[p+((n|8)+q)>>2]|0;if(t>>>0<(c[6552]|0)>>>0)tc();v=t+12|0;if((c[v>>2]|0)!=(o|0))tc();s=u+8|0;if((c[s>>2]|0)==(o|0)){c[v>>2]=u;c[s>>2]=t;g=u;break}else tc()}while(0);if((l|0)==0)break;t=c[p+(q+28+n)>>2]|0;s=26496+(t<<2)|0;do if((o|0)!=(c[s>>2]|0)){if(l>>>0<(c[6552]|0)>>>0)tc();s=l+16|0;if((c[s>>2]|0)==(o|0))c[s>>2]=g;else c[l+20>>2]=g;if((g|0)==0)break i}else{c[s>>2]=g;if((g|0)!=0)break;c[6549]=c[6549]&~(1<<t);break i}while(0);if(g>>>0<(c[6552]|0)>>>0)tc();c[g+24>>2]=l;l=n|16;o=c[p+(l+q)>>2]|0;do if((o|0)!=0)if(o>>>0<(c[6552]|0)>>>0)tc();else{c[g+16>>2]=o;c[o+24>>2]=g;break}while(0);l=c[p+(r+l)>>2]|0;if((l|0)==0)break;if(l>>>0<(c[6552]|0)>>>0)tc();else{c[g+20>>2]=l;c[l+24>>2]=g;break}}else{r=c[p+((n|8)+q)>>2]|0;g=c[p+(q+12+n)>>2]|0;t=26232+(s<<1<<2)|0;do if((r|0)!=(t|0)){if(r>>>0<(c[6552]|0)>>>0)tc();if((c[r+12>>2]|0)==(o|0))break;tc()}while(0);if((g|0)==(r|0)){c[6548]=c[6548]&~(1<<s);break}do if((g|0)==(t|0))l=g+8|0;else{if(g>>>0<(c[6552]|0)>>>0)tc();s=g+8|0;if((c[s>>2]|0)==(o|0)){l=s;break}tc()}while(0);c[r+12>>2]=g;c[l>>2]=r}while(0);o=p+((a|n)+q)|0;m=a+m|0}g=o+4|0;c[g>>2]=c[g>>2]&-2;c[p+(j+4)>>2]=m|1;c[p+(m+j)>>2]=m;g=m>>>3;if(m>>>0<256){m=g<<1;d=26232+(m<<2)|0;l=c[6548]|0;g=1<<g;do if((l&g|0)==0){c[6548]=l|g;f=26232+(m+2<<2)|0;e=d}else{l=26232+(m+2<<2)|0;g=c[l>>2]|0;if(!(g>>>0<(c[6552]|0)>>>0)){f=l;e=g;break}tc()}while(0);c[f>>2]=k;c[e+12>>2]=k;c[p+(j+8)>>2]=e;c[p+(j+12)>>2]=d;break}e=m>>>8;do if((e|0)==0)e=0;else{if(m>>>0>16777215){e=31;break}G=(e+1048320|0)>>>16&8;H=e<<G;F=(H+520192|0)>>>16&4;H=H<<F;e=(H+245760|0)>>>16&2;e=14-(F|G|e)+(H<<e>>>15)|0;e=m>>>(e+7|0)&1|e<<1}while(0);l=26496+(e<<2)|0;c[p+(j+28)>>2]=e;c[p+(j+20)>>2]=0;c[p+(j+16)>>2]=0;f=c[6549]|0;g=1<<e;if((f&g|0)==0){c[6549]=f|g;c[l>>2]=k;c[p+(j+24)>>2]=l;c[p+(j+12)>>2]=k;c[p+(j+8)>>2]=k;break}l=c[l>>2]|0;if((e|0)==31)e=0;else e=25-(e>>>1)|0;j:do if((c[l+4>>2]&-8|0)!=(m|0)){e=m<<e;while(1){g=l+(e>>>31<<2)+16|0;f=c[g>>2]|0;if((f|0)==0)break;if((c[f+4>>2]&-8|0)==(m|0)){d=f;break j}else{e=e<<1;l=f}}if(g>>>0<(c[6552]|0)>>>0)tc();else{c[g>>2]=k;c[p+(j+24)>>2]=l;c[p+(j+12)>>2]=k;c[p+(j+8)>>2]=k;break h}}else d=l;while(0);f=d+8|0;e=c[f>>2]|0;g=c[6552]|0;if(d>>>0<g>>>0)tc();if(e>>>0<g>>>0)tc();else{c[e+12>>2]=k;c[f>>2]=k;c[p+(j+8)>>2]=e;c[p+(j+12)>>2]=d;c[p+(j+24)>>2]=0;break}}else{H=(c[6551]|0)+m|0;c[6551]=H;c[6554]=k;c[p+(j+4)>>2]=H|1}while(0);H=p+(h|8)|0;i=b;return H|0}e=26640|0;while(1){d=c[e>>2]|0;if(!(d>>>0>r>>>0)?(n=c[e+4>>2]|0,m=d+n|0,m>>>0>r>>>0):0)break;e=c[e+8>>2]|0}e=d+(n+ -39)|0;if((e&7|0)==0)e=0;else e=0-e&7;d=d+(n+ -47+e)|0;d=d>>>0<(r+16|0)>>>0?r:d;e=d+8|0;f=p+8|0;if((f&7|0)==0)f=0;else f=0-f&7;H=q+ -40-f|0;c[6554]=p+f;c[6551]=H;c[p+(f+4)>>2]=H|1;c[p+(q+ -36)>>2]=40;c[6555]=c[6670];c[d+4>>2]=27;c[e+0>>2]=c[6660];c[e+4>>2]=c[6661];c[e+8>>2]=c[6662];c[e+12>>2]=c[6663];c[6660]=p;c[6661]=q;c[6663]=0;c[6662]=e;e=d+28|0;c[e>>2]=7;if((d+32|0)>>>0<m>>>0)do{H=e;e=e+4|0;c[e>>2]=7}while((H+8|0)>>>0<m>>>0);if((d|0)!=(r|0)){d=d-r|0;e=r+(d+4)|0;c[e>>2]=c[e>>2]&-2;c[r+4>>2]=d|1;c[r+d>>2]=d;e=d>>>3;if(d>>>0<256){g=e<<1;d=26232+(g<<2)|0;f=c[6548]|0;e=1<<e;do if((f&e|0)==0){c[6548]=f|e;k=26232+(g+2<<2)|0;j=d}else{f=26232+(g+2<<2)|0;e=c[f>>2]|0;if(!(e>>>0<(c[6552]|0)>>>0)){k=f;j=e;break}tc()}while(0);c[k>>2]=r;c[j+12>>2]=r;c[r+8>>2]=j;c[r+12>>2]=d;break}e=d>>>8;if((e|0)!=0)if(d>>>0>16777215)e=31;else{G=(e+1048320|0)>>>16&8;H=e<<G;F=(H+520192|0)>>>16&4;H=H<<F;e=(H+245760|0)>>>16&2;e=14-(F|G|e)+(H<<e>>>15)|0;e=d>>>(e+7|0)&1|e<<1}else e=0;j=26496+(e<<2)|0;c[r+28>>2]=e;c[r+20>>2]=0;c[r+16>>2]=0;f=c[6549]|0;g=1<<e;if((f&g|0)==0){c[6549]=f|g;c[j>>2]=r;c[r+24>>2]=j;c[r+12>>2]=r;c[r+8>>2]=r;break}f=c[j>>2]|0;if((e|0)==31)e=0;else e=25-(e>>>1)|0;k:do if((c[f+4>>2]&-8|0)!=(d|0)){e=d<<e;while(1){j=f+(e>>>31<<2)+16|0;g=c[j>>2]|0;if((g|0)==0)break;if((c[g+4>>2]&-8|0)==(d|0)){h=g;break k}else{e=e<<1;f=g}}if(j>>>0<(c[6552]|0)>>>0)tc();else{c[j>>2]=r;c[r+24>>2]=f;c[r+12>>2]=r;c[r+8>>2]=r;break g}}else h=f;while(0);f=h+8|0;e=c[f>>2]|0;d=c[6552]|0;if(h>>>0<d>>>0)tc();if(e>>>0<d>>>0)tc();else{c[e+12>>2]=r;c[f>>2]=r;c[r+8>>2]=e;c[r+12>>2]=h;c[r+24>>2]=0;break}}}else{H=c[6552]|0;Eif((H|0)==0|p>>>0<H>>>0)c[6552]=p;c[6660]=p;c[6661]=q;c[6663]=0;c[6557]=c[6666];c[6556]=-1;d=0;do{H=d<<1;G=26232+(H<<2)|0;c[26232+(H+3<<2)>>2]=G;c[26232+(H+2<<2)>>2]=G;d=d+1|0}while((d|0)!=32);d=p+8|0;Eif((d&7|0)==0)d=0;else d=0-d&7;H=q+ -40-d|0;c[6554]=p+d;c[6551]=H;c[p+(d+4)>>2]=H|1;c[p+(q+ -36)>>2]=40;c[6555]=c[6670]}while(0);d=c[6551]|0;Eif(d>>>0>a>>>0){G=d-a|0;c[6551]=G;H=c[6554]|0;c[6554]=H+a;c[H+(a+4)>>2]=G|1;c[H+4>>2]=a|3;H=H+8|0;i=b;return H|0}}c[($c()|0)>>2]=12;H=0;i=b;return H|0}function Us(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;b=i;if((a|0)==0){i=b;return}q=a+ -8|0;r=c[6552]|0;if(q>>>0<r>>>0)tc();o=c[a+ -4>>2]|0;n=o&3;if((n|0)==1)tc();j=o&-8;h=a+(j+ -8)|0;do if((o&1|0)==0){u=c[q>>2]|0;if((n|0)==0){i=b;return}q=-8-u|0;o=a+q|0;n=u+j|0;if(o>>>0<r>>>0)tc();if((o|0)==(c[6553]|0)){d=a+(j+ -4)|0;if((c[d>>2]&3|0)!=3){d=o;m=n;break}c[6550]=n;c[d>>2]=c[d>>2]&-2;c[a+(q+4)>>2]=n|1;c[h>>2]=n;i=b;return}t=u>>>3;if(u>>>0<256){d=c[a+(q+8)>>2]|0;m=c[a+(q+12)>>2]|0;p=26232+(t<<1<<2)|0;if((d|0)!=(p|0)){if(d>>>0<r>>>0)tc();if((c[d+12>>2]|0)!=(o|0))tc()}if((m|0)==(d|0)){c[6548]=c[6548]&~(1<<t);d=o;m=n;break}if((m|0)!=(p|0)){if(m>>>0<r>>>0)tc();p=m+8|0;if((c[p>>2]|0)==(o|0))s=p;else tc()}else s=m+8|0;c[d+12>>2]=m;c[s>>2]=d;d=o;m=n;break}s=c[a+(q+24)>>2]|0;t=c[a+(q+12)>>2]|0;do if((t|0)==(o|0)){u=a+(q+20)|0;t=c[u>>2]|0;if((t|0)==0){u=a+(q+16)|0;t=c[u>>2]|0;if((t|0)==0){p=0;break}}while(1){w=t+20|0;v=c[w>>2]|0;if((v|0)!=0){t=v;u=w;continue}v=t+16|0;w=c[v>>2]|0;if((w|0)==0)break;else{t=w;u=v}}if(u>>>0<r>>>0)tc();else{c[u>>2]=0;p=t;break}}else{u=c[a+(q+8)>>2]|0;if(u>>>0<r>>>0)tc();r=u+12|0;if((c[r>>2]|0)!=(o|0))tc();v=t+8|0;if((c[v>>2]|0)==(o|0)){c[r>>2]=t;c[v>>2]=u;p=t;break}else tc()}while(0);if((s|0)!=0){t=c[a+(q+28)>>2]|0;r=26496+(t<<2)|0;if((o|0)==(c[r>>2]|0)){c[r>>2]=p;if((p|0)==0){c[6549]=c[6549]&~(1<<t);d=o;m=n;break}}else{if(s>>>0<(c[6552]|0)>>>0)tc();r=s+16|0;if((c[r>>2]|0)==(o|0))c[r>>2]=p;else c[s+20>>2]=p;if((p|0)==0){d=o;m=n;break}}if(p>>>0<(c[6552]|0)>>>0)tc();c[p+24>>2]=s;r=c[a+(q+16)>>2]|0;do if((r|0)!=0)if(r>>>0<(c[6552]|0)>>>0)tc();else{c[p+16>>2]=r;c[r+24>>2]=p;break}while(0);q=c[a+(q+20)>>2]|0;if((q|0)!=0)if(q>>>0<(c[6552]|0)>>>0)tc();else{c[p+20>>2]=q;c[q+24>>2]=p;d=o;m=n;break}else{d=o;m=n}}else{d=o;m=n}}else{d=q;m=j}while(0);if(!(d>>>0<h>>>0))tc();n=a+(j+ -4)|0;o=c[n>>2]|0;if((o&1|0)==0)tc();if((o&2|0)==0){if((h|0)==(c[6554]|0)){w=(c[6551]|0)+m|0;c[6551]=w;c[6554]=d;c[d+4>>2]=w|1;if((d|0)!=(c[6553]|0)){i=b;return}c[6553]=0;c[6550]=0;i=b;return}if((h|0)==(c[6553]|0)){w=(c[6550]|0)+m|0;c[6550]=w;c[6553]=d;c[d+4>>2]=w|1;c[d+w>>2]=w;i=b;return}m=(o&-8)+m|0;n=o>>>3;do if(!(o>>>0<256)){l=c[a+(j+16)>>2]|0;q=c[a+(j|4)>>2]|0;do if((q|0)==(h|0)){o=a+(j+12)|0;n=c[o>>2]|0;if((n|0)==0){o=a+(j+8)|0;n=c[o>>2]|0;if((n|0)==0){k=0;break}}while(1){p=n+20|0;q=c[p>>2]|0;if((q|0)!=0){n=q;o=p;continue}p=n+16|0;q=c[p>>2]|0;if((q|0)==0)break;else{n=q;o=p}}if(o>>>0<(c[6552]|0)>>>0)tc();else{c[o>>2]=0;k=n;break}}else{o=c[a+j>>2]|0;if(o>>>0<(c[6552]|0)>>>0)tc();p=o+12|0;if((c[p>>2]|0)!=(h|0))tc();n=q+8|0;if((c[n>>2]|0)==(h|0)){c[p>>2]=q;c[n>>2]=o;k=q;break}else tc()}while(0);if((l|0)!=0){n=c[a+(j+20)>>2]|0;o=26496+(n<<2)|0;if((h|0)==(c[o>>2]|0)){c[o>>2]=k;if((k|0)==0){c[6549]=c[6549]&~(1<<n);break}}else{if(l>>>0<(c[6552]|0)>>>0)tc();n=l+16|0;if((c[n>>2]|0)==(h|0))c[n>>2]=k;else c[l+20>>2]=k;if((k|0)==0)break}if(k>>>0<(c[6552]|0)>>>0)tc();c[k+24>>2]=l;h=c[a+(j+8)>>2]|0;do if((h|0)!=0)if(h>>>0<(c[6552]|0)>>>0)tc();else{c[k+16>>2]=h;c[h+24>>2]=k;break}while(0);h=c[a+(j+12)>>2]|0;if((h|0)!=0)if(h>>>0<(c[6552]|0)>>>0)tc();else{c[k+20>>2]=h;c[h+24>>2]=k;break}}}else{k=c[a+j>>2]|0;a=c[a+(j|4)>>2]|0;j=26232+(n<<1<<2)|0;if((k|0)!=(j|0)){if(k>>>0<(c[6552]|0)>>>0)tc();if((c[k+12>>2]|0)!=(h|0))tc()}if((a|0)==(k|0)){c[6548]=c[6548]&~(1<<n);break}if((a|0)!=(j|0)){if(a>>>0<(c[6552]|0)>>>0)tc();j=a+8|0;if((c[j>>2]|0)==(h|0))l=j;else tc()}else l=a+8|0;c[k+12>>2]=a;c[l>>2]=k}while(0);c[d+4>>2]=m|1;c[d+m>>2]=m;if((d|0)==(c[6553]|0)){c[6550]=m;i=b;return}}else{c[n>>2]=o&-2;c[d+4>>2]=m|1;c[d+m>>2]=m}h=m>>>3;if(m>>>0<256){a=h<<1;e=26232+(a<<2)|0;j=c[6548]|0;h=1<<h;if((j&h|0)!=0){h=26232+(a+2<<2)|0;a=c[h>>2]|0;if(a>>>0<(c[6552]|0)>>>0)tc();else{f=h;g=a}}else{c[6548]=j|h;f=26232+(a+2<<2)|0;g=e}c[f>>2]=d;c[g+12>>2]=d;c[d+8>>2]=g;c[d+12>>2]=e;i=b;return}f=m>>>8;if((f|0)!=0)if(m>>>0>16777215)f=31;else{v=(f+1048320|0)>>>16&8;w=f<<v;u=(w+520192|0)>>>16&4;w=w<<u;f=(w+245760|0)>>>16&2;f=14-(u|v|f)+(w<<f>>>15)|0;f=m>>>(f+7|0)&1|f<<1}else f=0;g=26496+(f<<2)|0;c[d+28>>2]=f;c[d+20>>2]=0;c[d+16>>2]=0;a=c[6549]|0;h=1<<f;a:do if((a&h|0)!=0){g=c[g>>2]|0;if((f|0)==31)f=0;else f=25-(f>>>1)|0;b:do if((c[g+4>>2]&-8|0)!=(m|0)){f=m<<f;a=g;while(1){h=a+(f>>>31<<2)+16|0;g=c[h>>2]|0;if((g|0)==0)break;if((c[g+4>>2]&-8|0)==(m|0)){e=g;break b}else{f=f<<1;a=g}}if(h>>>0<(c[6552]|0)>>>0)tc();else{c[h>>2]=d;c[d+24>>2]=a;c[d+12>>2]=d;c[d+8>>2]=d;break a}}else e=g;while(0);g=e+8|0;f=c[g>>2]|0;h=c[6552]|0;if(e>>>0<h>>>0)tc();if(f>>>0<h>>>0)tc();else{c[f+12>>2]=d;c[g>>2]=d;c[d+8>>2]=f;c[d+12>>2]=e;c[d+24>>2]=0;break}}else{c[6549]=a|h;c[g>>2]=d;c[d+24>>2]=g;c[d+12>>2]=d;c[d+8>>2]=d}while(0);w=(c[6556]|0)+ -1|0;c[6556]=w;if((w|0)==0)d=26648|0;else{i=b;return}while(1){d=c[d>>2]|0;if((d|0)==0)break;else d=d+8|0}c[6556]=-1;i=b;return}function Vs(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;d=i;if((a|0)==0){r=Ts(b)|0;i=d;return r|0}if(b>>>0>4294967231){c[($c()|0)>>2]=12;r=0;i=d;return r|0}if(b>>>0<11)f=16;else f=b+11&-8;e=a+ -4|0;k=c[e>>2]|0;l=k&-8;o=l+ -8|0;h=a+o|0;m=c[6552]|0;if((a+ -8|0)>>>0<m>>>0)tc();r=k&3;if(!((r|0)!=1&(o|0)>-8))tc();o=l|4;q=a+(o+ -8)|0;p=c[q>>2]|0;if((p&1|0)==0)tc();do if((r|0)==0){if(!(f>>>0<256|l>>>0<(f|4)>>>0)?!((l-f|0)>>>0>c[6668]<<1>>>0):0){r=a;i=d;return r|0}}else{if(!(l>>>0<f>>>0)){g=l-f|0;if(!(g>>>0>15)){r=a;i=d;return r|0}c[e>>2]=k&1|f|2;c[a+((f|4)+ -8)>>2]=g|3;c[q>>2]=c[q>>2]|1;Ws(a+(f+ -8)|0,g);r=a;i=d;return r|0}if((h|0)==(c[6554]|0)){g=(c[6551]|0)+l|0;if(!(g>>>0>f>>>0))break;r=g-f|0;c[e>>2]=k&1|f|2;c[a+((f|4)+ -8)>>2]=r|1;c[6554]=a+(f+ -8);c[6551]=r;r=a;i=d;return r|0}if((h|0)==(c[6553]|0)){g=(c[6550]|0)+l|0;if(g>>>0<f>>>0)break;h=g-f|0;if(h>>>0>15){c[e>>2]=k&1|f|2;c[a+((f|4)+ -8)>>2]=h|1;c[a+(g+ -8)>>2]=h;e=a+(g+ -4)|0;c[e>>2]=c[e>>2]&-2;e=a+(f+ -8)|0}else{c[e>>2]=k&1|g|2;e=a+(g+ -4)|0;c[e>>2]=c[e>>2]|1;e=0;h=0}c[6550]=h;c[6553]=e;r=a;i=d;return r|0}if((p&2|0)==0?(g=(p&-8)+l|0,!(g>>>0<f>>>0)):0){k=g-f|0;b=p>>>3;do if(!(p>>>0<256)){n=c[a+(l+16)>>2]|0;o=c[a+o>>2]|0;do if((o|0)==(h|0)){b=a+(l+12)|0;o=c[b>>2]|0;if((o|0)==0){b=a+(l+8)|0;o=c[b>>2]|0;if((o|0)==0){j=0;break}}while(1){q=o+20|0;p=c[q>>2]|0;if((p|0)!=0){o=p;b=q;continue}p=o+16|0;q=c[p>>2]|0;if((q|0)==0)break;else{o=q;b=p}}if(b>>>0<m>>>0)tc();else{c[b>>2]=0;j=o;break}}else{b=c[a+l>>2]|0;if(b>>>0<m>>>0)tc();p=b+12|0;if((c[p>>2]|0)!=(h|0))tc();m=o+8|0;if((c[m>>2]|0)==(h|0)){c[p>>2]=o;c[m>>2]=b;j=o;break}else tc()}while(0);if((n|0)!=0){o=c[a+(l+20)>>2]|0;m=26496+(o<<2)|0;if((h|0)==(c[m>>2]|0)){c[m>>2]=j;if((j|0)==0){c[6549]=c[6549]&~(1<<o);break}}else{if(n>>>0<(c[6552]|0)>>>0)tc();m=n+16|0;if((c[m>>2]|0)==(h|0))c[m>>2]=j;else c[n+20>>2]=j;if((j|0)==0)break}if(j>>>0<(c[6552]|0)>>>0)tc();c[j+24>>2]=n;h=c[a+(l+8)>>2]|0;do if((h|0)!=0)if(h>>>0<(c[6552]|0)>>>0)tc();else{c[j+16>>2]=h;c[h+24>>2]=j;break}while(0);h=c[a+(l+12)>>2]|0;if((h|0)==0)break;if(h>>>0<(c[6552]|0)>>>0)tc();else{c[j+20>>2]=h;c[h+24>>2]=j;break}}}else{j=c[a+l>>2]|0;l=c[a+o>>2]|0;o=26232+(b<<1<<2)|0;if((j|0)!=(o|0)){if(j>>>0<m>>>0)tc();if((c[j+12>>2]|0)!=(h|0))tc()}if((l|0)==(j|0)){c[6548]=c[6548]&~(1<<b);break}do if((l|0)==(o|0))n=l+8|0;else{if(l>>>0<m>>>0)tc();m=l+8|0;if((c[m>>2]|0)==(h|0)){n=m;break}tc()}while(0);c[j+12>>2]=l;c[n>>2]=j}while(0);if(k>>>0<16){c[e>>2]=g|c[e>>2]&1|2;r=a+((g|4)+ -8)|0;c[r>>2]=c[r>>2]|1;r=a;i=d;return r|0}else{c[e>>2]=c[e>>2]&1|f|2;c[a+((f|4)+ -8)>>2]=k|3;r=a+((g|4)+ -8)|0;c[r>>2]=c[r>>2]|1;Ws(a+(f+ -8)|0,k);r=a;i=d;return r|0}}}while(0);f=Ts(b)|0;if((f|0)==0){r=0;i=d;return r|0}r=c[e>>2]|0;r=(r&-8)-((r&3|0)==0?8:4)|0;pt(f|0,a|0,(r>>>0<b>>>0?r:b)|0)|0;Us(a);r=f;i=d;return r|0}function Ws(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=i;h=a+b|0;l=c[a+4>>2]|0;do if((l&1|0)==0){p=c[a>>2]|0;if((l&3|0)==0){i=d;return}l=a+(0-p)|0;m=p+b|0;q=c[6552]|0;if(l>>>0<q>>>0)tc();if((l|0)==(c[6553]|0)){e=a+(b+4)|0;if((c[e>>2]&3|0)!=3){e=l;n=m;break}c[6550]=m;c[e>>2]=c[e>>2]&-2;c[a+(4-p)>>2]=m|1;c[h>>2]=m;i=d;return}s=p>>>3;if(p>>>0<256){e=c[a+(8-p)>>2]|0;n=c[a+(12-p)>>2]|0;o=26232+(s<<1<<2)|0;if((e|0)!=(o|0)){if(e>>>0<q>>>0)tc();if((c[e+12>>2]|0)!=(l|0))tc()}if((n|0)==(e|0)){c[6548]=c[6548]&~(1<<s);e=l;n=m;break}if((n|0)!=(o|0)){if(n>>>0<q>>>0)tc();o=n+8|0;if((c[o>>2]|0)==(l|0))r=o;else tc()}else r=n+8|0;c[e+12>>2]=n;c[r>>2]=e;e=l;n=m;break}r=c[a+(24-p)>>2]|0;t=c[a+(12-p)>>2]|0;do if((t|0)==(l|0)){u=16-p|0;t=a+(u+4)|0;s=c[t>>2]|0;if((s|0)==0){t=a+u|0;s=c[t>>2]|0;if((s|0)==0){o=0;break}}while(1){u=s+20|0;v=c[u>>2]|0;if((v|0)!=0){s=v;t=u;continue}v=s+16|0;u=c[v>>2]|0;if((u|0)==0)break;else{s=u;t=v}}if(t>>>0<q>>>0)tc();else{c[t>>2]=0;o=s;break}}else{s=c[a+(8-p)>>2]|0;if(s>>>0<q>>>0)tc();u=s+12|0;if((c[u>>2]|0)!=(l|0))tc();q=t+8|0;if((c[q>>2]|0)==(l|0)){c[u>>2]=t;c[q>>2]=s;o=t;break}else tc()}while(0);if((r|0)!=0){q=c[a+(28-p)>>2]|0;s=26496+(q<<2)|0;if((l|0)==(c[s>>2]|0)){c[s>>2]=o;if((o|0)==0){c[6549]=c[6549]&~(1<<q);e=l;n=m;break}}else{if(r>>>0<(c[6552]|0)>>>0)tc();q=r+16|0;if((c[q>>2]|0)==(l|0))c[q>>2]=o;else c[r+20>>2]=o;if((o|0)==0){e=l;n=m;break}}if(o>>>0<(c[6552]|0)>>>0)tc();c[o+24>>2]=r;p=16-p|0;q=c[a+p>>2]|0;do if((q|0)!=0)if(q>>>0<(c[6552]|0)>>>0)tc();else{c[o+16>>2]=q;c[q+24>>2]=o;break}while(0);p=c[a+(p+4)>>2]|0;if((p|0)!=0)if(p>>>0<(c[6552]|0)>>>0)tc();else{c[o+20>>2]=p;c[p+24>>2]=o;e=l;n=m;break}else{e=l;n=m}}else{e=l;n=m}}else{e=a;n=b}while(0);l=c[6552]|0;if(h>>>0<l>>>0)tc();m=a+(b+4)|0;o=c[m>>2]|0;if((o&2|0)==0){if((h|0)==(c[6554]|0)){v=(c[6551]|0)+n|0;c[6551]=v;c[6554]=e;c[e+4>>2]=v|1;if((e|0)!=(c[6553]|0)){i=d;return}c[6553]=0;c[6550]=0;i=d;return}if((h|0)==(c[6553]|0)){v=(c[6550]|0)+n|0;c[6550]=v;c[6553]=e;c[e+4>>2]=v|1;c[e+v>>2]=v;i=d;return}n=(o&-8)+n|0;m=o>>>3;do if(!(o>>>0<256)){k=c[a+(b+24)>>2]|0;m=c[a+(b+12)>>2]|0;do if((m|0)==(h|0)){o=a+(b+20)|0;m=c[o>>2]|0;if((m|0)==0){o=a+(b+16)|0;m=c[o>>2]|0;if((m|0)==0){j=0;break}}while(1){q=m+20|0;p=c[q>>2]|0;if((p|0)!=0){m=p;o=q;continue}p=m+16|0;q=c[p>>2]|0;if((q|0)==0)break;else{m=q;o=p}}if(o>>>0<l>>>0)tc();else{c[o>>2]=0;j=m;break}}else{o=c[a+(b+8)>>2]|0;if(o>>>0<l>>>0)tc();l=o+12|0;if((c[l>>2]|0)!=(h|0))tc();p=m+8|0;if((c[p>>2]|0)==(h|0)){c[l>>2]=m;c[p>>2]=o;j=m;break}else tc()}while(0);if((k|0)!=0){l=c[a+(b+28)>>2]|0;m=26496+(l<<2)|0;if((h|0)==(c[m>>2]|0)){c[m>>2]=j;if((j|0)==0){c[6549]=c[6549]&~(1<<l);break}}else{if(k>>>0<(c[6552]|0)>>>0)tc();l=k+16|0;if((c[l>>2]|0)==(h|0))c[l>>2]=j;else c[k+20>>2]=j;if((j|0)==0)break}if(j>>>0<(c[6552]|0)>>>0)tc();c[j+24>>2]=k;h=c[a+(b+16)>>2]|0;do if((h|0)!=0)if(h>>>0<(c[6552]|0)>>>0)tc();else{c[j+16>>2]=h;c[h+24>>2]=j;break}while(0);h=c[a+(b+20)>>2]|0;if((h|0)!=0)if(h>>>0<(c[6552]|0)>>>0)tc();else{c[j+20>>2]=h;c[h+24>>2]=j;break}}}else{j=c[a+(b+8)>>2]|0;a=c[a+(b+12)>>2]|0;b=26232+(m<<1<<2)|0;if((j|0)!=(b|0)){if(j>>>0<l>>>0)tc();if((c[j+12>>2]|0)!=(h|0))tc()}if((a|0)==(j|0)){c[6548]=c[6548]&~(1<<m);break}if((a|0)!=(b|0)){if(a>>>0<l>>>0)tc();b=a+8|0;if((c[b>>2]|0)==(h|0))k=b;else tc()}else k=a+8|0;c[j+12>>2]=a;c[k>>2]=j}while(0);c[e+4>>2]=n|1;c[e+n>>2]=n;if((e|0)==(c[6553]|0)){c[6550]=n;i=d;return}}else{c[m>>2]=o&-2;c[e+4>>2]=n|1;c[e+n>>2]=n}a=n>>>3;if(n>>>0<256){b=a<<1;h=26232+(b<<2)|0;j=c[6548]|0;a=1<<a;if((j&a|0)!=0){b=26232+(b+2<<2)|0;a=c[b>>2]|0;if(a>>>0<(c[6552]|0)>>>0)tc();else{g=b;f=a}}else{c[6548]=j|a;g=26232+(b+2<<2)|0;f=h}c[g>>2]=e;c[f+12>>2]=e;c[e+8>>2]=f;c[e+12>>2]=h;i=d;return}f=n>>>8;if((f|0)!=0)if(n>>>0>16777215)f=31;else{u=(f+1048320|0)>>>16&8;v=f<<u;t=(v+520192|0)>>>16&4;v=v<<t;f=(v+245760|0)>>>16&2;f=14-(t|u|f)+(v<<f>>>15)|0;f=n>>>(f+7|0)&1|f<<1}else f=0;a=26496+(f<<2)|0;c[e+28>>2]=f;c[e+20>>2]=0;c[e+16>>2]=0;h=c[6549]|0;g=1<<f;if((h&g|0)==0){c[6549]=h|g;c[a>>2]=e;c[e+24>>2]=a;c[e+12>>2]=e;c[e+8>>2]=e;i=d;return}g=c[a>>2]|0;if((f|0)==31)f=0;else f=25-(f>>>1)|0;a:do if((c[g+4>>2]&-8|0)!=(n|0)){f=n<<f;a=g;while(1){h=a+(f>>>31<<2)+16|0;g=c[h>>2]|0;if((g|0)==0)break;if((c[g+4>>2]&-8|0)==(n|0))break a;else{f=f<<1;a=g}}if(h>>>0<(c[6552]|0)>>>0)tc();c[h>>2]=e;c[e+24>>2]=a;c[e+12>>2]=e;c[e+8>>2]=e;i=d;return}while(0);f=g+8|0;a=c[f>>2]|0;h=c[6552]|0;if(g>>>0<h>>>0)tc();if(a>>>0<h>>>0)tc();c[a+12>>2]=e;c[f>>2]=e;c[e+8>>2]=a;c[e+12>>2]=g;c[e+24>>2]=0;i=d;return}function Xs(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;k=i;if(e>>>0>36){c[($c()|0)>>2]=22;s=0;t=0;H=s;i=k;return t|0}l=b+4|0;j=b+100|0;do{m=c[l>>2]|0;if(m>>>0<(c[j>>2]|0)>>>0){c[l>>2]=m+1;o=d[m>>0]|0}else o=_s(b)|0}while((o|0)==32|(o+ -9|0)>>>0<5);do if((o|0)==43|(o|0)==45){m=((o|0)==45)<<31>>31;n=c[l>>2]|0;if(n>>>0<(c[j>>2]|0)>>>0){c[l>>2]=n+1;o=d[n>>0]|0;break}else{o=_s(b)|0;break}}else m=0;while(0);n=(e|0)==0;do if((e&-17|0)==0&(o|0)==48){o=c[l>>2]|0;if(o>>>0<(c[j>>2]|0)>>>0){c[l>>2]=o+1;o=d[o>>0]|0}else o=_s(b)|0;if((o|32|0)!=120){f=n?8:e;e=32;break}e=c[l>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[l>>2]=e+1;o=d[e>>0]|0}else o=_s(b)|0;if((d[o+26689>>0]|0)>15){h=(c[j>>2]|0)==0;if(!h)c[l>>2]=(c[l>>2]|0)+ -1;if((f|0)==0){c[b+104>>2]=0;s=c[b+8>>2]|0;c[b+108>>2]=s-(c[l>>2]|0);c[j>>2]=s;s=0;t=0;H=s;i=k;return t|0}if(h){s=0;t=0;H=s;i=k;return t|0}c[l>>2]=(c[l>>2]|0)+ -1;s=0;t=0;H=s;i=k;return t|0}else{f=16;e=47}}else{f=n?10:e;if((d[o+26689>>0]|0)>>>0<f>>>0)e=32;else{h=c[l>>2]|0;if((c[j>>2]|0)!=0){h=h+ -1|0;c[l>>2]=h}c[b+104>>2]=0;s=c[b+8>>2]|0;c[b+108>>2]=s-h;c[j>>2]=s;c[($c()|0)>>2]=22;s=0;t=0;H=s;i=k;return t|0}}while(0);if((e|0)==32)if((f|0)==10){f=o+ -48|0;if(f>>>0<10){n=0;while(1){n=n+f|0;f=c[l>>2]|0;if(f>>>0<(c[j>>2]|0)>>>0){c[l>>2]=f+1;o=d[f>>0]|0}else o=_s(b)|0;f=o+ -48|0;if(!(f>>>0<10&n>>>0<429496729))break;n=n*10|0}p=0}else{n=0;p=0}f=o+ -48|0;if(f>>>0<10){do{q=zt(n|0,p|0,10,0)|0;r=H;s=((f|0)<0)<<31>>31;t=~s;if(r>>>0>t>>>0|(r|0)==(t|0)&q>>>0>~f>>>0)break;n=lt(q|0,r|0,f|0,s|0)|0;p=H;f=c[l>>2]|0;if(f>>>0<(c[j>>2]|0)>>>0){c[l>>2]=f+1;o=d[f>>0]|0}else o=_s(b)|0;f=o+ -48|0}while(f>>>0<10&(p>>>0<429496729|(p|0)==429496729&n>>>0<2576980378));if(!(f>>>0>9)){f=10;e=73}}}else e=47;a:do if((e|0)==47){if((f+ -1&f|0)==0){e=a[26952+((f*23|0)>>>5&7)>>0]|0;r=a[o+26689>>0]|0;n=r&255;if(n>>>0<f>>>0){o=n;n=0;do{n=o|n<<e;o=c[l>>2]|0;if(o>>>0<(c[j>>2]|0)>>>0){c[l>>2]=o+1;s=d[o>>0]|0}else s=_s(b)|0;r=a[s+26689>>0]|0;o=r&255}while(o>>>0<f>>>0&n>>>0<134217728);p=0}else{p=0;n=0;s=o}o=nt(-1,-1,e|0)|0;q=H;if((r&255)>>>0>=f>>>0|(p>>>0>q>>>0|(p|0)==(q|0)&n>>>0>o>>>0)){o=s;e=73;break}while(1){n=qt(n|0,p|0,e|0)|0;p=H;n=r&255|n;r=c[l>>2]|0;if(r>>>0<(c[j>>2]|0)>>>0){c[l>>2]=r+1;s=d[r>>0]|0}else s=_s(b)|0;r=a[s+26689>>0]|0;if((r&255)>>>0>=f>>>0|(p>>>0>q>>>0|(p|0)==(q|0)&n>>>0>o>>>0)){o=s;e=73;break a}}}q=a[o+26689>>0]|0;e=q&255;if(e>>>0<f>>>0){n=0;do{n=e+(da(n,f)|0)|0;e=c[l>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[l>>2]=e+1;r=d[e>>0]|0}else r=_s(b)|0;q=a[r+26689>>0]|0;e=q&255}while(e>>>0<f>>>0&n>>>0<119304647);p=0}else{n=0;p=0;r=o}if((q&255)>>>0<f>>>0){o=At(-1,-1,f|0,0)|0;e=H;while(1){if(p>>>0>e>>>0|(p|0)==(e|0)&n>>>0>o>>>0){o=r;e=73;break a}s=zt(n|0,p|0,f|0,0)|0;t=H;q=q&255;if(t>>>0>4294967295|(t|0)==-1&s>>>0>~q>>>0){o=r;e=73;break a}n=lt(q|0,0,s|0,t|0)|0;p=H;q=c[l>>2]|0;if(q>>>0<(c[j>>2]|0)>>>0){c[l>>2]=q+1;r=d[q>>0]|0}else r=_s(b)|0;q=a[r+26689>>0]|0;if(!((q&255)>>>0<f>>>0)){o=r;e=73;break}}}else{o=r;e=73}}while(0);if((e|0)==73)if((d[o+26689>>0]|0)>>>0<f>>>0){do{e=c[l>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[l>>2]=e+1;e=d[e>>0]|0}else e=_s(b)|0}while((d[e+26689>>0]|0)>>>0<f>>>0);c[($c()|0)>>2]=34;p=h;n=g}if((c[j>>2]|0)!=0)c[l>>2]=(c[l>>2]|0)+ -1;if(!(p>>>0<h>>>0|(p|0)==(h|0)&n>>>0<g>>>0)){if((g&1|0)==0&0==0&(m|0)==0){c[($c()|0)>>2]=34;t=lt(g|0,h|0,-1,-1)|0;s=H;H=s;i=k;return t|0}if(p>>>0>h>>>0|(p|0)==(h|0)&n>>>0>g>>>0){c[($c()|0)>>2]=34;s=h;t=g;H=s;i=k;return t|0}}t=((m|0)<0)<<31>>31;t=kt(n^m|0,p^t|0,m|0,t|0)|0;s=H;H=s;i=k;return t|0}function Ys(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,j=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0.0,u=0,v=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0.0,L=0,M=0.0,N=0.0,O=0.0,P=0.0;g=i;i=i+512|0;m=g;if((e|0)==0){j=24;l=-149}else if((e|0)==2){j=53;l=-1074}else if((e|0)==1){j=53;l=-1074}else{O=0.0;i=g;return+O}p=b+4|0;q=b+100|0;do{e=c[p>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[p>>2]=e+1;G=d[e>>0]|0}else G=_s(b)|0}while((G|0)==32|(G+ -9|0)>>>0<5);do if((G|0)==43|(G|0)==45){e=1-(((G|0)==45&1)<<1)|0;r=c[p>>2]|0;if(r>>>0<(c[q>>2]|0)>>>0){c[p>>2]=r+1;G=d[r>>0]|0;break}else{G=_s(b)|0;break}}else e=1;while(0);r=0;while(1){if((G|32|0)!=(a[26968+r>>0]|0)){u=r;break}do if(r>>>0<7){u=c[p>>2]|0;if(u>>>0<(c[q>>2]|0)>>>0){c[p>>2]=u+1;G=d[u>>0]|0;break}else{G=_s(b)|0;break}}while(0);r=r+1|0;if(!(r>>>0<8)){u=r;break}}do if((u|0)==3)s=23;else if((u|0)!=8){r=(f|0)==0;if(!(u>>>0<4|r))if((u|0)==8)break;else{s=23;break}a:do if((u|0)==0){o=0;do{if((G|32|0)!=(a[27552+o>>0]|0))break a;do if(o>>>0<2){u=c[p>>2]|0;if(u>>>0<(c[q>>2]|0)>>>0){c[p>>2]=u+1;G=d[u>>0]|0;break}else{G=_s(b)|0;break}}while(0);o=o+1|0}while(o>>>0<3)}else o=u;while(0);if((o|0)==3){e=c[p>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[p>>2]=e+1;e=d[e>>0]|0}else e=_s(b)|0;if((e|0)==40)e=1;else{if((c[q>>2]|0)==0){O=w;i=g;return+O}c[p>>2]=(c[p>>2]|0)+ -1;O=w;i=g;return+O}while(1){j=c[p>>2]|0;if(j>>>0<(c[q>>2]|0)>>>0){c[p>>2]=j+1;j=d[j>>0]|0}else j=_s(b)|0;if(!((j+ -48|0)>>>0<10|(j+ -65|0)>>>0<26)?!((j+ -97|0)>>>0<26|(j|0)==95):0)break;e=e+1|0}if((j|0)==41){O=w;i=g;return+O}j=(c[q>>2]|0)==0;if(!j)c[p>>2]=(c[p>>2]|0)+ -1;if(r){c[($c()|0)>>2]=22;c[b+104>>2]=0;L=c[b+8>>2]|0;c[b+108>>2]=L-(c[p>>2]|0);c[q>>2]=L;O=0.0;i=g;return+O}if((e|0)==0|j){O=w;i=g;return+O}j=c[p>>2]|0;do{e=e+ -1|0;j=j+ -1|0}while((e|0)!=0);c[p>>2]=j;O=w;i=g;return+O}else if((o|0)==0){do if((G|0)==48){o=c[p>>2]|0;if(o>>>0<(c[q>>2]|0)>>>0){c[p>>2]=o+1;o=d[o>>0]|0}else o=_s(b)|0;if((o|32|0)!=120){if((c[q>>2]|0)==0){G=48;break}c[p>>2]=(c[p>>2]|0)+ -1;G=48;break}m=c[p>>2]|0;if(m>>>0<(c[q>>2]|0)>>>0){c[p>>2]=m+1;C=d[m>>0]|0;A=0}else{C=_s(b)|0;A=0}while(1){if((C|0)==46){s=71;break}else if((C|0)!=48){m=0;o=0;v=0;u=0;z=0;B=0;K=1.0;y=0;t=0.0;break}m=c[p>>2]|0;if(m>>>0<(c[q>>2]|0)>>>0){c[p>>2]=m+1;C=d[m>>0]|0;A=1;continue}else{C=_s(b)|0;A=1;continue}}b:do if((s|0)==71){m=c[p>>2]|0;if(m>>>0<(c[q>>2]|0)>>>0){c[p>>2]=m+1;C=d[m>>0]|0}else C=_s(b)|0;if((C|0)==48){v=-1;u=-1;while(1){m=c[p>>2]|0;if(m>>>0<(c[q>>2]|0)>>>0){c[p>>2]=m+1;C=d[m>>0]|0}else C=_s(b)|0;if((C|0)!=48){m=0;o=0;A=1;z=1;B=0;K=1.0;y=0;t=0.0;break b}L=lt(v|0,u|0,-1,-1)|0;v=L;u=H}}else{m=0;o=0;v=0;u=0;z=1;B=0;K=1.0;y=0;t=0.0}}while(0);c:while(1){E=C+ -48|0;do if(!(E>>>0<10)){F=C|32;D=(C|0)==46;if(!((F+ -97|0)>>>0<6|D))break c;if(D)if((z|0)==0){v=o;u=m;z=1;break}else{C=46;break c}else{E=(C|0)>57?F+ -87|0:E;s=85;break}}else s=85;while(0);if((s|0)==85){s=0;do if(!((m|0)<0|(m|0)==0&o>>>0<8)){if((m|0)<0|(m|0)==0&o>>>0<14){O=K*.0625;M=O;t=t+O*+(E|0);break}if((E|0)!=0&(B|0)==0){B=1;M=K;t=t+K*.5}else M=K}else{M=K;y=E+(y<<4)|0}while(0);o=lt(o|0,m|0,1,0)|0;m=H;A=1;K=M}C=c[p>>2]|0;if(C>>>0<(c[q>>2]|0)>>>0){c[p>>2]=C+1;C=d[C>>0]|0;continue}else{C=_s(b)|0;continue}}if((A|0)==0){j=(c[q>>2]|0)==0;if(!j)c[p>>2]=(c[p>>2]|0)+ -1;if(!r){if(!j?(n=c[p>>2]|0,c[p>>2]=n+ -1,(z|0)!=0):0)c[p>>2]=n+ -2}else{c[b+104>>2]=0;L=c[b+8>>2]|0;c[b+108>>2]=L-(c[p>>2]|0);c[q>>2]=L}O=+(e|0)*0.0;i=g;return+O}s=(z|0)==0;n=s?o:v;s=s?m:u;if((m|0)<0|(m|0)==0&o>>>0<8)do{y=y<<4;o=lt(o|0,m|0,1,0)|0;m=H}while((m|0)<0|(m|0)==0&o>>>0<8);do if((C|32|0)==112){o=Zs(b,f)|0;m=H;if((o|0)==0&(m|0)==-2147483648)if(r){c[b+104>>2]=0;L=c[b+8>>2]|0;c[b+108>>2]=L-(c[p>>2]|0);c[q>>2]=L;O=0.0;i=g;return+O}else{if((c[q>>2]|0)==0){o=0;m=0;break}c[p>>2]=(c[p>>2]|0)+ -1;o=0;m=0;break}}else if((c[q>>2]|0)==0){o=0;m=0}else{c[p>>2]=(c[p>>2]|0)+ -1;o=0;m=0}while(0);n=qt(n|0,s|0,2)|0;n=lt(n|0,H|0,-32,-1)|0;m=lt(n|0,H|0,o|0,m|0)|0;n=H;if((y|0)==0){O=+(e|0)*0.0;i=g;return+O}if((n|0)>0|(n|0)==0&m>>>0>(0-l|0)>>>0){c[($c()|0)>>2]=34;O=+(e|0)*1.7976931348623157e+308*1.7976931348623157e+308;i=g;return+O}L=l+ -106|0;J=((L|0)<0)<<31>>31;if((n|0)<(J|0)|(n|0)==(J|0)&m>>>0<L>>>0){c[($c()|0)>>2]=34;O=+(e|0)*2.2250738585072014e-308*2.2250738585072014e-308;i=g;return+O}if((y|0)>-1)do{y=y<<1;if(!(t>=.5))K=t;else{K=t+-1.0;y=y|1}t=t+K;m=lt(m|0,n|0,-1,-1)|0;n=H}while((y|0)>-1);l=kt(32,0,l|0,((l|0)<0)<<31>>31|0)|0;l=lt(m|0,n|0,l|0,H|0)|0;L=H;if(0>(L|0)|0==(L|0)&j>>>0>l>>>0)j=(l|0)<0?0:l;do if((j|0)<53){l=84-j|0;do if((l|0)>1023){n=l+ -1023|0;if((n|0)<=1023){l=n;K=8.98846567431158e+307;break}l=l+ -2046|0;l=(l|0)>1023?1023:l;K=x}else{if(!((l|0)<-1022)){K=1.0;break}n=l+1022|0;if(!((n|0)<-1022)){l=n;K=2.2250738585072014e-308;break}l=l+2044|0;l=(l|0)<-1022?-1022:l;K=0.0}while(0);J=qt(l+1023|0,0,52)|0;L=H;c[k>>2]=J;c[k+4>>2]=L;M=+(e|0);K=+fd(+(K*+h[k>>3]),+M);if(!((j|0)<32&t!=0.0))break;L=y&1;y=(L^1)+y|0;t=(L|0)==0?0.0:t}else{K=0.0;M=+(e|0)}while(0);t=M*t+(K+M*+(y>>>0))-K;if(!(t!=0.0))c[($c()|0)>>2]=34;do if((m|0)>1023){t=t*8.98846567431158e+307;e=m+ -1023|0;if((e|0)<=1023){m=e;break}m=m+ -2046|0;m=(m|0)>1023?1023:m;t=t*8.98846567431158e+307}else{if(!((m|0)<-1022))break;t=t*2.2250738585072014e-308;e=m+1022|0;if(!((e|0)<-1022)){m=e;break}m=m+2044|0;m=(m|0)<-1022?-1022:m;t=t*2.2250738585072014e-308}while(0);J=qt(m+1023|0,0,52)|0;L=H;c[k>>2]=J;c[k+4>>2]=L;O=t*+h[k>>3];i=g;return+O}while(0);o=l+j|0;n=0-o|0;B=0;while(1){if((G|0)==46){s=152;break}else if((G|0)!=48){F=0;E=0;D=0;break}u=c[p>>2]|0;if(u>>>0<(c[q>>2]|0)>>>0){c[p>>2]=u+1;G=d[u>>0]|0;B=1;continue}else{G=_s(b)|0;B=1;continue}}d:do if((s|0)==152){u=c[p>>2]|0;if(u>>>0<(c[q>>2]|0)>>>0){c[p>>2]=u+1;G=d[u>>0]|0}else G=_s(b)|0;if((G|0)==48){F=-1;E=-1;while(1){u=c[p>>2]|0;if(u>>>0<(c[q>>2]|0)>>>0){c[p>>2]=u+1;G=d[u>>0]|0}else G=_s(b)|0;if((G|0)!=48){B=1;D=1;break d}L=lt(F|0,E|0,-1,-1)|0;F=L;E=H}}else{F=0;E=0;D=1}}while(0);c[m>>2]=0;I=G+ -48|0;J=(G|0)==46;e:do if(I>>>0<10|J){u=m+496|0;C=0;A=0;z=0;y=0;v=0;while(1){do if(J)if((D|0)==0){F=C;E=A;D=1}else break e;else{J=lt(C|0,A|0,1,0)|0;A=H;L=(G|0)!=48;if((y|0)>=125){if(!L){C=J;break}c[u>>2]=c[u>>2]|1;C=J;break}B=m+(y<<2)|0;if((z|0)!=0)I=G+ -48+((c[B>>2]|0)*10|0)|0;c[B>>2]=I;z=z+1|0;I=(z|0)==9;C=J;B=1;z=I?0:z;y=(I&1)+y|0;v=L?J:v}while(0);G=c[p>>2]|0;if(G>>>0<(c[q>>2]|0)>>>0){c[p>>2]=G+1;G=d[G>>0]|0}else G=_s(b)|0;I=G+ -48|0;J=(G|0)==46;if(!(I>>>0<10|J)){s=175;break}}}else{C=0;A=0;z=0;y=0;v=0;s=175}while(0);if((s|0)==175){L=(D|0)==0;F=L?C:F;E=L?A:E}s=(B|0)!=0;if(s?(G|32|0)==101:0){u=Zs(b,f)|0;f=H;do if((u|0)==0&(f|0)==-2147483648)if(r){c[b+104>>2]=0;L=c[b+8>>2]|0;c[b+108>>2]=L-(c[p>>2]|0);c[q>>2]=L;O=0.0;i=g;return+O}else{if((c[q>>2]|0)==0){r=0;f=0;break}c[p>>2]=(c[p>>2]|0)+ -1;r=0;f=0;break}else r=u;while(0);F=lt(r|0,f|0,F|0,E|0)|0;E=H}else if((G|0)>-1?(c[q>>2]|0)!=0:0)c[p>>2]=(c[p>>2]|0)+ -1;if(!s){c[($c()|0)>>2]=22;c[b+104>>2]=0;L=c[b+8>>2]|0;c[b+108>>2]=L-(c[p>>2]|0);c[q>>2]=L;O=0.0;i=g;return+O}p=c[m>>2]|0;if((p|0)==0){O=+(e|0)*0.0;i=g;return+O}do if((F|0)==(C|0)&(E|0)==(A|0)&((A|0)<0|(A|0)==0&C>>>0<10)){if(!(j>>>0>30)?(p>>>j|0)!=0:0)break;O=+(e|0)*+(p>>>0);i=g;return+O}while(0);L=(l|0)/-2|0;J=((L|0)<0)<<31>>31;if((E|0)>(J|0)|(E|0)==(J|0)&F>>>0>L>>>0){c[($c()|0)>>2]=34;O=+(e|0)*1.7976931348623157e+308*1.7976931348623157e+308;i=g;return+O}L=l+ -106|0;J=((L|0)<0)<<31>>31;if((E|0)<(J|0)|(E|0)==(J|0)&F>>>0<L>>>0){c[($c()|0)>>2]=34;O=+(e|0)*2.2250738585072014e-308*2.2250738585072014e-308;i=g;return+O}if((z|0)!=0){if((z|0)<9){p=m+(y<<2)|0;b=c[p>>2]|0;do{b=b*10|0;z=z+1|0}while((z|0)!=9);c[p>>2]=b}y=y+1|0}do if((v|0)<9?(v|0)<=(F|0)&(F|0)<18:0){if((F|0)==9){O=+(e|0)*+((c[m>>2]|0)>>>0);i=g;return+O}if((F|0)<9){O=+(e|0)*+((c[m>>2]|0)>>>0)/+(c[26992+(8-F<<2)>>2]|0);i=g;return+O}L=j+27+(da(F,-3)|0)|0;p=c[m>>2]|0;if((L|0)<=30?(p>>>L|0)!=0:0)break;O=+(e|0)*+(p>>>0)*+(c[26992+(F+ -10<<2)>>2]|0);i=g;return+O}while(0);p=(F|0)%9|0;if((p|0)==0){p=0;b=0;q=F}else{q=(F|0)>-1?p:p+9|0;r=c[26992+(8-q<<2)>>2]|0;if((y|0)!=0){f=1e9/(r|0)|0;p=0;s=0;b=0;do{I=m+(b<<2)|0;J=c[I>>2]|0;L=((J>>>0)/(r>>>0)|0)+s|0;c[I>>2]=L;s=da((J>>>0)%(r>>>0)|0,f)|0;J=b;b=b+1|0;if((J|0)==(p|0)&(L|0)==0){p=b&127;F=F+ -9|0}}while((b|0)!=(y|0));if((s|0)!=0){c[m+(y<<2)>>2]=s;y=y+1|0}}else{p=0;y=0}b=0;q=9-q+F|0}f:while(1){f=m+(p<<2)|0;if((q|0)<18){do{s=0;f=y+127|0;while(1){f=f&127;r=m+(f<<2)|0;u=qt(c[r>>2]|0,0,29)|0;u=lt(u|0,H|0,s|0,0)|0;s=H;if(s>>>0>0|(s|0)==0&u>>>0>1e9){L=At(u|0,s|0,1e9,0)|0;u=Bt(u|0,s|0,1e9,0)|0;s=L}else s=0;c[r>>2]=u;r=(f|0)==(p|0);if(!((f|0)!=(y+127&127|0)|r))y=(u|0)==0?f:y;if(r)break;else f=f+ -1|0}b=b+ -29|0}while((s|0)==0)}else{if((q|0)!=18)break;do{if(!((c[f>>2]|0)>>>0<9007199)){q=18;break f}s=0;r=y+127|0;while(1){r=r&127;u=m+(r<<2)|0;v=qt(c[u>>2]|0,0,29)|0;v=lt(v|0,H|0,s|0,0)|0;s=H;if(s>>>0>0|(s|0)==0&v>>>0>1e9){L=At(v|0,s|0,1e9,0)|0;v=Bt(v|0,s|0,1e9,0)|0;s=L}else s=0;c[u>>2]=v;u=(r|0)==(p|0);if(!((r|0)!=(y+127&127|0)|u))y=(v|0)==0?r:y;if(u)break;else r=r+ -1|0}b=b+ -29|0}while((s|0)==0)}p=p+127&127;if((p|0)==(y|0)){L=y+127&127;y=m+((y+126&127)<<2)|0;c[y>>2]=c[y>>2]|c[m+(L<<2)>>2];y=L}c[m+(p<<2)>>2]=s;q=q+9|0}g:while(1){f=y+1&127;r=m+((y+127&127)<<2)|0;while(1){u=(q|0)==18;s=(q|0)>27?9:1;while(1){v=0;while(1){z=v+p&127;if((z|0)==(y|0)){v=2;break}z=c[m+(z<<2)>>2]|0;A=c[26984+(v<<2)>>2]|0;if(z>>>0<A>>>0){v=2;break}B=v+1|0;if(z>>>0>A>>>0)break;if((B|0)<2)v=B;else{v=B;break}}if((v|0)==2&u)break g;b=s+b|0;if((p|0)==(y|0))p=y;else break}A=(1<<s)+ -1|0;u=1e9>>>s;v=p;z=0;do{I=m+(p<<2)|0;J=c[I>>2]|0;L=(J>>>s)+z|0;c[I>>2]=L;z=da(J&A,u)|0;L=(p|0)==(v|0)&(L|0)==0;p=p+1&127;q=L?q+ -9|0:q;v=L?p:v}while((p|0)!=(y|0));if((z|0)==0){p=v;continue}if((f|0)!=(v|0))break;c[r>>2]=c[r>>2]|1;p=v}c[m+(y<<2)>>2]=z;p=v;y=f}q=p&127;if((q|0)==(y|0)){c[m+(f+ -1<<2)>>2]=0;y=f}K=+((c[m+(q<<2)>>2]|0)>>>0);q=p+1&127;if((q|0)==(y|0)){y=y+1&127;c[m+(y+ -1<<2)>>2]=0}t=+(e|0);K=t*(K*1.0e9+ +((c[m+(q<<2)>>2]|0)>>>0));e=b+53|0;l=e-l|0;if((l|0)<(j|0)){j=(l|0)<0?0:l;q=1}else q=0;if((j|0)<53){f=105-j|0;do if((f|0)>1023){r=f+ -1023|0;if((r|0)<=1023){f=r;M=8.98846567431158e+307;break}f=f+ -2046|0;f=(f|0)>1023?1023:f;M=x}else{if(!((f|0)<-1022)){M=1.0;break}r=f+1022|0;if(!((r|0)<-1022)){f=r;M=2.2250738585072014e-308;break}f=f+2044|0;f=(f|0)<-1022?-1022:f;M=0.0}while(0);L=qt(f+1023|0,0,52)|0;f=H;c[k>>2]=L;c[k+4>>2]=f;N=+fd(+(M*+h[k>>3]),+K);f=53-j|0;do if((f|0)>1023){r=f+ -1023|0;if((r|0)<=1023){f=r;M=8.98846567431158e+307;break}f=f+ -2046|0;f=(f|0)>1023?1023:f;M=x}else{if(!((f|0)<-1022)){M=1.0;break}r=f+1022|0;if(!((r|0)<-1022)){f=r;M=2.2250738585072014e-308;break}f=f+2044|0;f=(f|0)<-1022?-1022:f;M=0.0}while(0);J=qt(f+1023|0,0,52)|0;L=H;c[k>>2]=J;c[k+4>>2]=L;P=+ib(+K,+(M*+h[k>>3]));M=N;O=P;K=N+(K-P)}else{M=0.0;O=0.0}f=p+2&127;do if((f|0)!=(y|0)){m=c[m+(f<<2)>>2]|0;do if(!(m>>>0<5e8)){if(m>>>0>5e8){O=t*.75+O;break}if((p+3&127|0)==(y|0)){O=t*.5+O;break}else{O=t*.75+O;break}}else{if((m|0)==0?(p+3&127|0)==(y|0):0)break;O=t*.25+O}while(0);if((53-j|0)<=1)break;if(+ib(+O,1.0)!=0.0)break;O=O+1.0}while(0);t=K+O-M;do if((e&2147483647|0)>(-2-o|0)){if(+S(+t)>=9007199254740992.0){q=(q|0)!=0&(j|0)==(l|0)?0:q;b=b+1|0;t=t*.5}if((b+50|0)<=(n|0)?!((q|0)!=0&O!=0.0):0)break;c[($c()|0)>>2]=34}while(0);do if((b|0)>1023){t=t*8.98846567431158e+307;e=b+ -1023|0;if((e|0)<=1023){b=e;break}b=b+ -2046|0;b=(b|0)>1023?1023:b;t=t*8.98846567431158e+307}else{if(!((b|0)<-1022))break;t=t*2.2250738585072014e-308;e=b+1022|0;if(!((e|0)<-1022)){b=e;break}b=b+2044|0;b=(b|0)<-1022?-1022:b;t=t*2.2250738585072014e-308}while(0);J=qt(b+1023|0,0,52)|0;L=H;c[k>>2]=J;c[k+4>>2]=L;P=t*+h[k>>3];i=g;return+P}else{e=c[p>>2]|0;if((c[q>>2]|0)!=0){e=e+ -1|0;c[p>>2]=e}c[($c()|0)>>2]=22;c[b+104>>2]=0;L=c[b+8>>2]|0;c[b+108>>2]=L-e;c[q>>2]=L;P=0.0;i=g;return+P}}while(0);if(((s|0)==23?(c[q>>2]|0)!=0:0)?(o=(c[p>>2]|0)+ -1|0,c[p>>2]=o,!(u>>>0<4|(f|0)==0)):0){do{o=o+ -1|0;u=u+ -1|0}while(u>>>0>3);c[p>>2]=o}P=+(e|0)*x;i=g;return+P}function Zs(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;g=a+4|0;h=c[g>>2]|0;f=a+100|0;if(h>>>0<(c[f>>2]|0)>>>0){c[g>>2]=h+1;j=d[h>>0]|0}else j=_s(a)|0;if((j|0)==43|(j|0)==45){h=(j|0)==45&1;j=c[g>>2]|0;if(j>>>0<(c[f>>2]|0)>>>0){c[g>>2]=j+1;j=d[j>>0]|0}else j=_s(a)|0;if(!((j+ -48|0)>>>0<10|(b|0)==0)?(c[f>>2]|0)!=0:0)c[g>>2]=(c[g>>2]|0)+ -1}else h=0;if((j+ -48|0)>>>0>9){if((c[f>>2]|0)==0){k=-2147483648;l=0;H=k;i=e;return l|0}c[g>>2]=(c[g>>2]|0)+ -1;k=-2147483648;l=0;H=k;i=e;return l|0}else b=0;while(1){b=j+ -48+b|0;j=c[g>>2]|0;if(j>>>0<(c[f>>2]|0)>>>0){c[g>>2]=j+1;j=d[j>>0]|0}else j=_s(a)|0;l=(j+ -48|0)>>>0<10;if(!(l&(b|0)<214748364))break;b=b*10|0}k=((b|0)<0)<<31>>31;if(l)do{k=zt(b|0,k|0,10,0)|0;b=H;j=lt(j|0,((j|0)<0)<<31>>31|0,-48,-1)|0;b=lt(j|0,H|0,k|0,b|0)|0;k=H;j=c[g>>2]|0;if(j>>>0<(c[f>>2]|0)>>>0){c[g>>2]=j+1;j=d[j>>0]|0}else j=_s(a)|0}while((j+ -48|0)>>>0<10&((k|0)<21474836|(k|0)==21474836&b>>>0<2061584302));if((j+ -48|0)>>>0<10)do{j=c[g>>2]|0;if(j>>>0<(c[f>>2]|0)>>>0){c[g>>2]=j+1;j=d[j>>0]|0}else j=_s(a)|0}while((j+ -48|0)>>>0<10);if((c[f>>2]|0)!=0)c[g>>2]=(c[g>>2]|0)+ -1;j=(h|0)!=0;l=kt(0,0,b|0,k|0)|0;k=j?H:k;l=j?l:b;H=k;i=e;return l|0}function _s(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;h=b+104|0;l=c[h>>2]|0;if(!((l|0)!=0?(c[b+108>>2]|0)>=(l|0):0))g=3;if((g|0)==3?(f=bt(b)|0,(f|0)>=0):0){l=c[h>>2]|0;h=c[b+8>>2]|0;k=c[b+4>>2]|0;if((l|0)!=0?(j=l-(c[b+108>>2]|0)+ -1|0,(h-k|0)>(j|0)):0)c[b+100>>2]=k+j;else g=8;if((g|0)==8)c[b+100>>2]=h;if((h|0)!=0){l=b+108|0;c[l>>2]=h+1-k+(c[l>>2]|0)}b=k+ -1|0;if((d[b>>0]|0|0)==(f|0)){l=f;i=e;return l|0}a[b>>0]=f;l=f;i=e;return l|0}c[b+100>>2]=0;l=-1;i=e;return l|0}function $s(a,b){a=+a;b=b|0;var d=0,e=0,f=0,g=0;d=i;h[k>>3]=a;f=c[k>>2]|0;e=c[k+4>>2]|0;g=nt(f|0,e|0,52)|0;g=g&2047;if((g|0)==0){if(a!=0.0){a=+$s(a*18446744073709552000.0,b);e=(c[b>>2]|0)+ -64|0}else e=0;c[b>>2]=e;i=d;return+a}else if((g|0)==2047){i=d;return+a}else{c[b>>2]=g+ -1022;c[k>>2]=f;c[k+4>>2]=e&-2146435073|1071644672;a=+h[k>>3];i=d;return+a}return 0.0}function at(b,d){b=b|0;d=d|0;var e=0;e=i;if((b|0)==0){b=1;i=e;return b|0}if(d>>>0<128){a[b>>0]=d;b=1;i=e;return b|0}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;i=e;return b|0}if(d>>>0<55296|(d+ -57344|0)>>>0<8192){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;i=e;return b|0}if((d+ -65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;i=e;return b|0}else{c[($c()|0)>>2]=84;b=-1;i=e;return b|0}return 0}function bt(b){b=b|0;var e=0,f=0,g=0,h=0,j=0;g=i;i=i+16|0;e=g;f=b+8|0;do if((c[f>>2]|0)==0){j=b+74|0;h=a[j>>0]|0;a[j>>0]=h+255|h;j=b+20|0;h=b+44|0;if((c[j>>2]|0)>>>0>(c[h>>2]|0)>>>0)md[c[b+36>>2]&63](b,0,0)|0;c[b+16>>2]=0;c[b+28>>2]=0;c[j>>2]=0;j=c[b>>2]|0;if((j&20|0)==0){j=c[h>>2]|0;c[f>>2]=j;c[b+4>>2]=j;break}if((j&4|0)==0){j=-1;i=g;return j|0}c[b>>2]=j|32;j=-1;i=g;return j|0}while(0);if((md[c[b+32>>2]&63](b,e,1)|0)!=1){j=-1;i=g;return j|0}j=d[e>>0]|0;i=g;return j|0}function ct(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;g=e+16|0;h=c[g>>2]|0;do if((h|0)==0){h=e+74|0;k=a[h>>0]|0;a[h>>0]=k+255|k;h=c[e>>2]|0;if((h&8|0)==0){c[e+8>>2]=0;c[e+4>>2]=0;j=c[e+44>>2]|0;c[e+28>>2]=j;c[e+20>>2]=j;h=j+(c[e+48>>2]|0)|0;c[g>>2]=h;break}c[e>>2]=h|32;i=f;return}else j=c[e+20>>2]|0;while(0);g=e+20|0;if((h-j|0)>>>0<d>>>0){md[c[e+36>>2]&63](e,b,d)|0;i=f;return}a:do if((a[e+75>>0]|0)>-1){h=d;while(1){if((h|0)==0)break a;k=h+ -1|0;if((a[b+k>>0]|0)==10)break;else h=k}if((md[c[e+36>>2]&63](e,b,h)|0)>>>0<h>>>0){i=f;return}else{j=c[g>>2]|0;d=d-h|0;b=b+h|0;break}}while(0);pt(j|0,b|0,d|0)|0;c[g>>2]=(c[g>>2]|0)+d;i=f;return}function dt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;i=i+16|0;g=f;c[g>>2]=e;e=gt(a,b,d,g)|0;i=f;return e|0}function et(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;gt(a,2147483647,b,f)|0;i=e;return}function ft(e,f,g,j,l){e=e|0;f=f|0;g=g|0;j=j|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0.0,db=0,eb=0,fb=0,gb=0.0,hb=0;m=i;i=i+864|0;B=m+16|0;Q=m+8|0;v=m+560|0;w=v;u=m+840|0;s=m+584|0;r=m+520|0;N=m;G=m+852|0;J=(e|0)!=0;K=r+40|0;I=K;r=r+39|0;M=N+4|0;t=u+12|0;u=u+11|0;A=t;z=A-w|0;x=-2-w|0;y=A+2|0;C=B+288|0;D=v+9|0;E=D;F=v+8|0;Ua=0;Ra=0;pa=0;Va=0;Sa=0;a:while(1){do if((pa|0)>-1)if((Va|0)>(2147483647-pa|0)){c[($c()|0)>>2]=75;pa=-1;break}else{pa=Va+pa|0;break}while(0);Oa=a[f>>0]|0;if(Oa<<24>>24==0){Na=357;break}else Pa=f;while(1){if(Oa<<24>>24==0){na=Pa;oa=Pa;break}else if(Oa<<24>>24==37){P=Pa;q=Pa;Na=9;break}fb=Pa+1|0;Oa=a[fb>>0]|0;Pa=fb}b:do if((Na|0)==9)while(1){Na=0;if((a[P+1>>0]|0)!=37){na=P;oa=q;break b}oa=q+1|0;na=P+2|0;if((a[na>>0]|0)==37){P=na;q=oa}else break}while(0);Va=oa-f|0;if(J)ct(f,Va,e);if((oa|0)!=(f|0)){f=na;continue}Pa=na+1|0;Qa=a[Pa>>0]|0;Wa=(Qa<<24>>24)+ -48|0;if(Wa>>>0<10?(a[na+2>>0]|0)==36:0){Pa=na+3|0;Qa=a[Pa>>0]|0;Oa=1}else{Wa=-1;Oa=Sa}Ta=Qa<<24>>24;c:do if((Ta+ -32|0)>>>0<32){Xa=0;while(1){if((1<<Ta+ -32&75913|0)==0){Ta=Pa;break c}Xa=1<<(Qa<<24>>24)+ -32|Xa;Pa=Pa+1|0;Qa=a[Pa>>0]|0;Ta=Qa<<24>>24;if(!((Ta+ -32|0)>>>0<32)){Ta=Pa;break}}}else{Xa=0;Ta=Pa}while(0);do if(Qa<<24>>24==42){Pa=Ta+1|0;Qa=(a[Pa>>0]|0)+ -48|0;if(Qa>>>0<10?(a[Ta+2>>0]|0)==36:0){c[l+(Qa<<2)>>2]=10;Oa=1;Ta=Ta+3|0;Qa=c[j+((a[Pa>>0]|0)+ -48<<3)>>2]|0}else{if((Oa|0)!=0){p=-1;Na=376;break a}if(!J){Oa=0;Qa=0;break}Oa=c[g>>2]|0;Qa=c[Oa>>2]|0;c[g>>2]=Oa+4;Oa=0;Ta=Pa}if((Qa|0)<0){Xa=Xa|8192;Pa=Ta;Qa=0-Qa|0}else Pa=Ta}else{Qa=Qa<<24>>24;if((Qa+ -48|0)>>>0<10){Pa=Ta;Ta=Qa;Qa=0;do{Qa=Ta+ -48+(Qa*10|0)|0;Pa=Pa+1|0;Ta=a[Pa>>0]|0}while((Ta+ -48|0)>>>0<10);if((Qa|0)<0){p=-1;Na=376;break a}}else{Pa=Ta;Qa=0}}while(0);d:do if((a[Pa>>0]|0)==46){Ta=Pa+1|0;Ya=a[Ta>>0]|0;if(!(Ya<<24>>24==42)){Ya=Ya<<24>>24;if((Ya+ -48|0)>>>0<10){Pa=Ta;Ta=0}else{Pa=Ta;Ta=0;break}while(1){Ta=Ya+ -48+(Ta*10|0)|0;Pa=Pa+1|0;Ya=a[Pa>>0]|0;if(!((Ya+ -48|0)>>>0<10))break d}}Ta=Pa+2|0;Ya=(a[Ta>>0]|0)+ -48|0;if(Ya>>>0<10?(a[Pa+3>>0]|0)==36:0){c[l+(Ya<<2)>>2]=10;Pa=Pa+4|0;Ta=c[j+((a[Ta>>0]|0)+ -48<<3)>>2]|0;break}if((Oa|0)!=0){p=-1;Na=376;break a}if(J){Pa=c[g>>2]|0;fb=c[Pa>>2]|0;c[g>>2]=Pa+4;Pa=Ta;Ta=fb}else{Pa=Ta;Ta=0}}else Ta=-1;while(0);Za=Pa;Ya=0;while(1){_a=a[Za>>0]|0;$a=(_a<<24>>24)+ -65|0;if($a>>>0>57){p=-1;Na=376;break a}Pa=Za+1|0;ab=a[27024+(Ya*58|0)+$a>>0]|0;$a=ab&255;if(($a+ -1|0)>>>0<8){Za=Pa;Ya=$a}else break}if(ab<<24>>24==0){p=-1;Na=376;break}bb=(Wa|0)>-1;e:do if(ab<<24>>24==19)if(bb){p=-1;Na=376;break a}else{R=Ua;S=Ra;Na=63}else{if(bb){c[l+(Wa<<2)>>2]=$a;S=j+(Wa<<3)|0;R=c[S>>2]|0;S=c[S+4>>2]|0;Na=63;break}if(!J){p=0;Na=376;break a}if((ab&255)>20){V=_a;X=Ua;W=Ra}else do switch($a|0){case 10:{T=c[g>>2]|0;U=c[T>>2]|0;c[g>>2]=T+4;T=U;U=((U|0)<0)<<31>>31;Na=64;break e};case 13:{T=c[g>>2]|0;U=c[T>>2]|0;c[g>>2]=T+4;T=U<<16>>16;U=(((U&65535)<<16>>16|0)<0)<<31>>31;Na=64;break e};case 9:{U=c[g>>2]|0;T=c[U>>2]|0;c[g>>2]=U+4;U=Ra;Na=64;break e};case 18:{T=c[g>>2]|0;c[k>>2]=c[T>>2];c[k+4>>2]=c[T+4>>2];gb=+h[k>>3];c[g>>2]=T+8;h[k>>3]=gb;T=c[k>>2]|0;U=c[k+4>>2]|0;Na=64;break e};case 12:{Na=c[g>>2]|0;U=Na;T=c[U>>2]|0;U=c[U+4>>2]|0;c[g>>2]=Na+8;Na=64;break e};case 17:{T=c[g>>2]|0;c[k>>2]=c[T>>2];c[k+4>>2]=c[T+4>>2];gb=+h[k>>3];c[g>>2]=T+8;h[k>>3]=gb;T=c[k>>2]|0;U=c[k+4>>2]|0;Na=64;break e};case 11:{U=c[g>>2]|0;T=c[U>>2]|0;c[g>>2]=U+4;U=0;Na=64;break e};case 16:{U=c[g>>2]|0;T=c[U>>2]|0;c[g>>2]=U+4;T=T&255;U=0;Na=64;break e};case 14:{U=c[g>>2]|0;T=c[U>>2]|0;c[g>>2]=U+4;T=T&65535;U=0;Na=64;break e};case 15:{T=c[g>>2]|0;U=c[T>>2]|0;c[g>>2]=T+4;T=U<<24>>24;U=(((U&255)<<24>>24|0)<0)<<31>>31;Na=64;break e};default:{T=Ua;U=Ra;Na=64;break e}}while(0)}while(0);if((Na|0)==63){Na=0;if(J){T=R;U=S;Na=64}else{Ua=R;Ra=S;f=Pa;Sa=Oa;continue}}if((Na|0)==64){Na=0;V=a[Za>>0]|0;X=T;W=U}Ua=V<<24>>24;if((Ya|0)!=0)Ua=(Ua&15|0)==3?Ua&-33:Ua;Wa=Xa&-65537;Ra=(Xa&8192|0)==0?Xa:Wa;f:do switch(Ua|0){case 105:case 100:{if((W|0)<0){ha=kt(0,0,X|0,W|0)|0;ia=H;ja=1;ka=27488;Na=89;break f}if((Ra&2048|0)==0){ka=Ra&1;ha=X;ia=W;ja=ka;ka=(ka|0)==0?27488:27490;Na=89}else{ha=X;ia=W;ja=1;ka=27489;Na=89}break};case 111:{xa=X;Ma=(xa|0)==0&(W|0)==0;if(Ma)Ka=K;else{Ha=W;Ka=K;do{Ka=Ka+ -1|0;a[Ka>>0]=xa&7|48;xa=nt(xa|0,Ha|0,3)|0;Ha=H}while(!((xa|0)==0&(Ha|0)==0))}if((Ra&8|0)==0){xa=X;Ia=W;Ja=Ra;Ha=Ta;La=0;Ma=27488;Na=94}else{xa=X;Ia=W;Ja=Ra;Ha=Ta;La=Ma&1^1;Ma=Ma?27488:27493;Na=94}break};case 112:{fa=Ra|8;ga=Ta>>>0>8?Ta:8;ea=120;Na=77;break};case 88:case 120:{fa=Ra;ga=Ta;ea=Ua;Na=77;break};case 117:{ha=X;ia=W;ja=0;ka=27488;Na=89;break};case 109:{aa=id(c[($c()|0)>>2]|0)|0;Na=99;break};case 115:{aa=(X|0)==0?27504:X;Na=99;break};case 67:{c[N>>2]=X;c[M>>2]=0;$=N;Z=N;_=-1;Na=115;break};case 83:{if((Ta|0)==0){sa=X;ra=X;ta=0;Na=122}else{$=X;Z=X;_=Ta;Na=115}break};case 110:switch(Ya|0){case 2:{Ua=X;c[Ua>>2]=pa;c[Ua+4>>2]=((pa|0)<0)<<31>>31;Ua=X;Ra=W;f=Pa;Sa=Oa;continue a};case 3:{b[X>>1]=pa;Ua=X;Ra=W;f=Pa;Sa=Oa;continue a};case 4:{a[X>>0]=pa;Ua=X;Ra=W;f=Pa;Sa=Oa;continue a};case 7:{Ua=X;c[Ua>>2]=pa;c[Ua+4>>2]=((pa|0)<0)<<31>>31;Ua=X;Ra=W;f=Pa;Sa=Oa;continue a};case 0:{c[X>>2]=pa;Ua=X;Ra=W;f=Pa;Sa=Oa;continue a};case 1:{c[X>>2]=pa;Ua=X;Ra=W;f=Pa;Sa=Oa;continue a};case 6:{c[X>>2]=pa;Ua=X;Ra=W;f=Pa;Sa=Oa;continue a};default:{Ua=X;Ra=W;f=Pa;Sa=Oa;continue a}};case 99:{a[r>>0]=X;za=X;Aa=r;ya=W;Ca=Wa;Da=1;Ea=0;Fa=27488;Ga=K;break};case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{c[k>>2]=X;c[k+4>>2]=W;cb=+h[k>>3];c[Q>>2]=0;if((W|0)>=0)if((Ra&2048|0)==0){Sa=Ra&1;f=Sa;Sa=(Sa|0)==0?27513:27518}else{f=1;Sa=27515}else{f=1;Sa=27512;cb=-cb}h[k>>3]=cb;fb=c[k+4>>2]&2146435072;if(!(fb>>>0<2146435072|(fb|0)==2146435072&0<0)){Ta=(Ua&32|0)!=0;if(cb!=cb|0.0!=0.0){f=0;Ua=Ta?27552:27560}else Ua=Ta?27536:27544;Va=f+3|0;Ta=(Va|0)<(Qa|0);if((Ra&8192|0)==0&Ta){Wa=Qa-Va|0;st(s|0,32,(Wa>>>0>256?256:Wa)|0)|0;if(Wa>>>0>255)do{ct(s,256,e);Wa=Wa+ -256|0}while(Wa>>>0>255);ct(s,Wa,e)}ct(Sa,f,e);ct(Ua,3,e);if((Ra&73728|0)==8192&Ta){Ra=Qa-Va|0;st(s|0,32,(Ra>>>0>256?256:Ra)|0)|0;if(Ra>>>0>255)do{ct(s,256,e);Ra=Ra+ -256|0}while(Ra>>>0>255);ct(s,Ra,e)}Ua=X;Ra=W;f=Pa;Va=Ta?Qa:Va;Sa=Oa;continue a}cb=+$s(cb,Q)*2.0;Wa=cb!=0.0;if(Wa)c[Q>>2]=(c[Q>>2]|0)+ -1;Ya=Ua|32;if((Ya|0)==97){Wa=Ua&32;Sa=(Wa|0)==0?Sa:Sa+9|0;f=f|2;Va=Ta>>>0>11?0:12-Ta|0;do if((Va|0)!=0){gb=8.0;do{Va=Va+ -1|0;gb=gb*16.0}while((Va|0)!=0);if((a[Sa>>0]|0)==45){cb=-(gb+(-cb-gb));break}else{cb=cb+gb-gb;break}}while(0);Ya=c[Q>>2]|0;Ya=(Ya|0)<0?0-Ya|0:Ya;if((Ya|0)<0){Va=Ya;Ya=((Ya|0)<0)<<31>>31;Xa=t;while(1){fb=Bt(Va|0,Ya|0,10,0)|0;Xa=Xa+ -1|0;a[Xa>>0]=fb|48;fb=Va;Va=At(Va|0,Ya|0,10,0)|0;if(!(Ya>>>0>9|(Ya|0)==9&fb>>>0>4294967295))break;else Ya=H}}else{Xa=t;Va=Ya}if((Va|0)!=0)while(1){Xa=Xa+ -1|0;a[Xa>>0]=(Va>>>0)%10|0|48;if(Va>>>0<10)break;else Va=(Va>>>0)/10|0}if((Xa|0)==(t|0)){a[u>>0]=48;Xa=u}a[Xa+ -1>>0]=(c[Q>>2]>>31&2)+43;Va=Xa+ -2|0;a[Va>>0]=Ua+15;Ua=(Ra&8|0)==0;if((Ta|0)>0)if(Ua){Xa=v;while(1){fb=~~cb;Ua=Xa+1|0;a[Xa>>0]=d[27568+fb>>0]|Wa;cb=(cb- +(fb|0))*16.0;if((Ua-w|0)==1){a[Ua>>0]=46;Ua=Xa+2|0}if(!(cb!=0.0))break;else Xa=Ua}}else{Xa=v;while(1){fb=~~cb;Ua=Xa+1|0;a[Xa>>0]=d[27568+fb>>0]|Wa;cb=(cb- +(fb|0))*16.0;if((Ua-w|0)==1){a[Ua>>0]=46;Ua=Xa+2|0}if(!(cb!=0.0))break;else Xa=Ua}}else if(Ua){Ya=v;while(1){Xa=~~cb;Ua=Ya+1|0;a[Ya>>0]=d[27568+Xa>>0]|Wa;cb=(cb- +(Xa|0))*16.0;Xa=cb!=0.0;if((Ua-w|0)==1&Xa){a[Ua>>0]=46;Ua=Ya+2|0}if(!Xa)break;else Ya=Ua}}else{Xa=v;while(1){fb=~~cb;Ua=Xa+1|0;a[Xa>>0]=d[27568+fb>>0]|Wa;cb=(cb- +(fb|0))*16.0;if((Ua-w|0)==1){a[Ua>>0]=46;Ua=Xa+2|0}if(!(cb!=0.0))break;else Xa=Ua}}do if((Ta|0)==0)Na=186;else{if((x+Ua|0)>=(Ta|0)){Na=186;break}Y=y+Ta-Va|0}while(0);if((Na|0)==186){Na=0;Y=z-Va+Ua|0}Ta=Y+f|0;Ra=Ra&73728;Wa=(Ta|0)<(Qa|0);if((Ra|0)==0&Wa){Xa=Qa-Ta|0;st(s|0,32,(Xa>>>0>256?256:Xa)|0)|0;if(Xa>>>0>255)do{ct(s,256,e);Xa=Xa+ -256|0}while(Xa>>>0>255);ct(s,Xa,e)}ct(Sa,f,e);if((Ra|0)==65536&Wa){Sa=Qa-Ta|0;st(s|0,48,(Sa>>>0>256?256:Sa)|0)|0;if(Sa>>>0>255)do{ct(s,256,e);Sa=Sa+ -256|0}while(Sa>>>0>255);ct(s,Sa,e)}f=Ua-w|0;ct(v,f,e);Sa=A-Va|0;f=Y-Sa-f|0;if((f|0)>0){st(s|0,48,(f>>>0>256?256:f)|0)|0;if(f>>>0>255)do{ct(s,256,e);f=f+ -256|0}while(f>>>0>255);ct(s,f,e)}ct(Va,Sa,e);if((Ra|0)==8192&Wa){Ra=Qa-Ta|0;st(s|0,32,(Ra>>>0>256?256:Ra)|0)|0;if(Ra>>>0>255)do{ct(s,256,e);Ra=Ra+ -256|0}while(Ra>>>0>255);ct(s,Ra,e)}Ua=X;Ra=W;f=Pa;Va=Wa?Qa:Ta;Sa=Oa;continue a}Va=(Ta|0)<0?6:Ta;if(Wa){Ta=(c[Q>>2]|0)+ -28|0;c[Q>>2]=Ta;cb=cb*268435456.0}else Ta=c[Q>>2]|0;Ta=(Ta|0)<0?B:C;Wa=Ta;do{fb=~~cb>>>0;c[Wa>>2]=fb;Wa=Wa+4|0;cb=(cb- +(fb>>>0))*1.0e9}while(cb!=0.0);ab=c[Q>>2]|0;if((ab|0)>0){Xa=Ta;do{Za=(ab|0)>29?29:ab;$a=Wa+ -4|0;do if(!($a>>>0<Xa>>>0)){_a=0;do{eb=qt(c[$a>>2]|0,0,Za|0)|0;eb=lt(eb|0,H|0,_a|0,0)|0;fb=H;db=Bt(eb|0,fb|0,1e9,0)|0;c[$a>>2]=db;_a=At(eb|0,fb|0,1e9,0)|0;$a=$a+ -4|0}while(!($a>>>0<Xa>>>0));if((_a|0)==0)break;Xa=Xa+ -4|0;c[Xa>>2]=_a}while(0);while(1){if(!(Wa>>>0>Xa>>>0))break;_a=Wa+ -4|0;if((c[_a>>2]|0)==0)Wa=_a;else break}ab=(c[Q>>2]|0)-Za|0;c[Q>>2]=ab}while((ab|0)>0)}else Xa=Ta;g:do if((ab|0)<0){Za=((Va+25|0)/9|0)+1|0;if((Ya|0)==102){$a=Ta;_a=Ta+(Za<<2)|0;while(1){ab=0-ab|0;ab=(ab|0)>9?9:ab;do if(Xa>>>0<Wa>>>0){db=(1<<ab)+ -1|0;fb=1e9>>>ab;bb=0;eb=Xa;do{hb=c[eb>>2]|0;c[eb>>2]=(hb>>>ab)+bb;bb=da(hb&db,fb)|0;eb=eb+4|0}while(eb>>>0<Wa>>>0);Xa=(c[Xa>>2]|0)==0?Xa+4|0:Xa;if((bb|0)==0)break;c[Wa>>2]=bb;Wa=Wa+4|0}else Xa=(c[Xa>>2]|0)==0?Xa+4|0:Xa;while(0);Wa=(Wa-$a>>2|0)>(Za|0)?_a:Wa;ab=(c[Q>>2]|0)+ab|0;c[Q>>2]=ab;if((ab|0)>=0)break g}}do{_a=0-ab|0;_a=(_a|0)>9?9:_a;do if(Xa>>>0<Wa>>>0){db=(1<<_a)+ -1|0;bb=1e9>>>_a;$a=0;ab=Xa;do{hb=c[ab>>2]|0;c[ab>>2]=(hb>>>_a)+$a;$a=da(hb&db,bb)|0;ab=ab+4|0}while(ab>>>0<Wa>>>0);Xa=(c[Xa>>2]|0)==0?Xa+4|0:Xa;if(($a|0)==0)break;c[Wa>>2]=$a;Wa=Wa+4|0}else Xa=(c[Xa>>2]|0)==0?Xa+4|0:Xa;while(0);if((Wa-Xa>>2|0)>(Za|0))Wa=Xa+(Za<<2)|0;ab=(c[Q>>2]|0)+_a|0;c[Q>>2]=ab}while((ab|0)<0)}while(0);Za=Ta;do if(Xa>>>0<Wa>>>0){_a=(Za-Xa>>2)*9|0;$a=c[Xa>>2]|0;if($a>>>0<10)break;else ab=10;do{ab=ab*10|0;_a=_a+1|0}while(!($a>>>0<ab>>>0))}else _a=0;while(0);$a=(Ya|0)==103;Ya=Va-((Ya|0)!=102?_a:0)+(($a&(Va|0)!=0)<<31>>31)|0;if((Ya|0)<(((Wa-Za>>2)*9|0)+ -9|0)){db=Ya+9216|0;bb=(db|0)/9|0;Ya=Ta+(bb+ -1023<<2)|0;db=((db|0)%9|0)+1|0;if((db|0)<9){ab=10;do{ab=ab*10|0;db=db+1|0}while((db|0)!=9)}else ab=10;eb=c[Ya>>2]|0;db=(eb>>>0)%(ab>>>0)|0;if((db|0)==0?(Ta+(bb+ -1022<<2)|0)==(Wa|0):0){va=Xa;wa=Ya;Ba=_a}else Na=246;do if((Na|0)==246){Na=0;cb=(((eb>>>0)/(ab>>>0)|0)&1|0)==0?9007199254740992.0:9007199254740994.0;va=(ab|0)/2|0;do if(db>>>0<va>>>0)gb=.5;else{if((db|0)==(va|0)?(Ta+(bb+ -1022<<2)|0)==(Wa|0):0){gb=1.0;break}gb=1.5}while(0);do if((f|0)!=0){if((a[Sa>>0]|0)!=45)break;cb=cb*-1.0;gb=gb*-1.0}while(0);va=eb-db|0;c[Ya>>2]=va;if(!(cb+gb!=cb)){va=Xa;wa=Ya;Ba=_a;break}hb=va+ab|0;c[Ya>>2]=hb;if(hb>>>0>999999999){va=Xa;while(1){wa=Ya+ -4|0;c[Ya>>2]=0;if(wa>>>0<va>>>0){va=va+ -4|0;c[va>>2]=0}hb=(c[wa>>2]|0)+1|0;c[wa>>2]=hb;if(hb>>>0>999999999)Ya=wa;else break}}else{va=Xa;wa=Ya}Ba=(Za-va>>2)*9|0;Xa=c[va>>2]|0;if(Xa>>>0<10)break;else Ya=10;do{Ya=Ya*10|0;Ba=Ba+1|0}while(!(Xa>>>0<Ya>>>0))}while(0);hb=wa+4|0;Xa=va;Ya=Ba;Wa=Wa>>>0>hb>>>0?hb:Wa}else Ya=_a;bb=0-Ya|0;while(1){if(!(Wa>>>0>Xa>>>0)){_a=0;break}_a=Wa+ -4|0;if((c[_a>>2]|0)==0)Wa=_a;else{_a=1;break}}do if($a){Va=((Va|0)==0&1)+Va|0;if((Va|0)>(Ya|0)&(Ya|0)>-5){Va=Va+ -1-Ya|0;Ua=Ua+ -1|0}else{Va=Va+ -1|0;Ua=Ua+ -2|0}if((Ra&8|0)!=0)break;do if(_a){ab=c[Wa+ -4>>2]|0;if((ab|0)==0){db=9;break}if(((ab>>>0)%10|0|0)==0){$a=10;db=0}else{db=0;break}do{$a=$a*10|0;db=db+1|0}while(((ab>>>0)%($a>>>0)|0|0)==0)}else db=9;while(0);Za=((Wa-Za>>2)*9|0)+ -9|0;if((Ua|32|0)==102){hb=Za-db|0;hb=(hb|0)<0?0:hb;Va=(Va|0)<(hb|0)?Va:hb;break}else{hb=Za+Ya-db|0;hb=(hb|0)<0?0:hb;Va=(Va|0)<(hb|0)?Va:hb;break}}while(0);$a=(Va|0)!=0;if($a)Za=1;else Za=(Ra&8|0)!=0;Za=Za&1;ab=(Ua|32|0)==102;if(ab){bb=0;Ua=(Ya|0)>0?Ya:0}else{eb=(Ya|0)<0?bb:Ya;if((eb|0)<0){bb=eb;eb=((eb|0)<0)<<31>>31;db=t;while(1){hb=Bt(bb|0,eb|0,10,0)|0;db=db+ -1|0;a[db>>0]=hb|48;hb=bb;bb=At(bb|0,eb|0,10,0)|0;if(!(eb>>>0>9|(eb|0)==9&hb>>>0>4294967295))break;else eb=H}}else{db=t;bb=eb}if((bb|0)!=0)while(1){db=db+ -1|0;a[db>>0]=(bb>>>0)%10|0|48;if(bb>>>0<10)break;else bb=(bb>>>0)/10|0}if((A-db|0)<2)do{db=db+ -1|0;a[db>>0]=48}while((A-db|0)<2);a[db+ -1>>0]=(Ya>>31&2)+43;hb=db+ -2|0;a[hb>>0]=Ua;bb=hb;Ua=A-hb|0}Za=f+1+Va+Za+Ua|0;Ua=Ra&73728;Ya=(Za|0)<(Qa|0);if((Ua|0)==0&Ya){db=Qa-Za|0;st(s|0,32,(db>>>0>256?256:db)|0)|0;if(db>>>0>255)do{ct(s,256,e);db=db+ -256|0}while(db>>>0>255);ct(s,db,e)}ct(Sa,f,e);if((Ua|0)==65536&Ya){Sa=Qa-Za|0;st(s|0,48,(Sa>>>0>256?256:Sa)|0)|0;if(Sa>>>0>255)do{ct(s,256,e);Sa=Sa+ -256|0}while(Sa>>>0>255);ct(s,Sa,e)}do if(ab){f=Xa>>>0>Ta>>>0?Ta:Xa;Sa=f;do{_a=c[Sa>>2]|0;if((_a|0)==0)Xa=D;else{Xa=D;while(1){Xa=Xa+ -1|0;a[Xa>>0]=(_a>>>0)%10|0|48;if(_a>>>0<10)break;else _a=(_a>>>0)/10|0}}do if((Sa|0)==(f|0)){if((Xa|0)!=(D|0))break;a[F>>0]=48;Xa=F}else{if(!(Xa>>>0>v>>>0))break;do{Xa=Xa+ -1|0;a[Xa>>0]=48}while(Xa>>>0>v>>>0)}while(0);ct(Xa,E-Xa|0,e);Sa=Sa+4|0}while(!(Sa>>>0>Ta>>>0));if(!$a?(Ra&8|0)==0:0)break;ct(27584,1,e);if(Sa>>>0<Wa>>>0&(Va|0)>0)do{Ta=c[Sa>>2]|0;if((Ta|0)!=0){Ra=D;while(1){Ra=Ra+ -1|0;a[Ra>>0]=(Ta>>>0)%10|0|48;if(Ta>>>0<10)break;else Ta=(Ta>>>0)/10|0}if(Ra>>>0>v>>>0){ba=Ra;Na=313}else ma=Ra}else{ba=D;Na=313}if((Na|0)==313)while(1){Na=0;ma=ba+ -1|0;a[ma>>0]=48;if(ma>>>0>v>>>0)ba=ma;else break}ct(ma,(Va|0)>9?9:Va,e);Sa=Sa+4|0;Va=Va+ -9|0}while(Sa>>>0<Wa>>>0&(Va|0)>0);if((Va|0)<=0)break;st(s|0,48,(Va>>>0>256?256:Va)|0)|0;if(Va>>>0>255)do{ct(s,256,e);Va=Va+ -256|0}while(Va>>>0>255);ct(s,Va,e)}else{Sa=_a?Wa:Xa+4|0;do if((Va|0)>-1){Ta=(Ra&8|0)!=0;Ra=Xa;do{Wa=c[Ra>>2]|0;if((Wa|0)!=0){f=D;while(1){f=f+ -1|0;a[f>>0]=(Wa>>>0)%10|0|48;if(Wa>>>0<10)break;else Wa=(Wa>>>0)/10|0}if((f|0)!=(D|0))ca=f;else Na=324}else Na=324;if((Na|0)==324){Na=0;a[F>>0]=48;ca=F}do if((Ra|0)==(Xa|0)){f=ca+1|0;ct(ca,1,e);if(!((Va|0)>0|Ta))break;ct(27584,1,e)}else{if(ca>>>0>v>>>0)f=ca;else{f=ca;break}do{f=f+ -1|0;a[f>>0]=48}while(f>>>0>v>>>0)}while(0);hb=E-f|0;ct(f,(hb|0)<(Va|0)?hb:Va,e);Va=Va-hb|0;Ra=Ra+4|0}while(Ra>>>0<Sa>>>0&(Va|0)>-1);if((Va|0)<=0)break;st(s|0,48,(Va>>>0>256?256:Va)|0)|0;if(Va>>>0>255)do{ct(s,256,e);Va=Va+ -256|0}while(Va>>>0>255);ct(s,Va,e)}while(0);ct(bb,A-bb|0,e)}while(0);if((Ua|0)==8192&Ya){Ra=Qa-Za|0;st(s|0,32,(Ra>>>0>256?256:Ra)|0)|0;if(Ra>>>0>255)do{ct(s,256,e);Ra=Ra+ -256|0}while(Ra>>>0>255);ct(s,Ra,e)}Ua=X;Ra=W;f=Pa;Va=Ya?Qa:Za;Sa=Oa;continue a};default:{za=X;Aa=f;ya=W;Ca=Ra;Da=Ta;Ea=0;Fa=27488;Ga=K}}while(0);h:do if((Na|0)==77){Ia=X;xa=ea&32;if(!((Ia|0)==0&(W|0)==0)){Ha=W;Ka=K;do{Ka=Ka+ -1|0;a[Ka>>0]=d[27568+(Ia&15)>>0]|xa;Ia=nt(Ia|0,Ha|0,4)|0;Ha=H}while(!((Ia|0)==0&(Ha|0)==0));if((fa&8|0)==0){xa=X;Ia=W;Ja=fa;Ha=ga;La=0;Ma=27488;Na=94}else{xa=X;Ia=W;Ja=fa;Ha=ga;La=2;Ma=27488+(ea>>4)|0;Na=94}}else{xa=X;Ka=K;Ia=W;Ja=fa;Ha=ga;La=0;Ma=27488;Na=94}}else if((Na|0)==89){xa=ha;if(ia>>>0>0|(ia|0)==0&xa>>>0>4294967295){Ha=ia;Ka=K;while(1){hb=Bt(xa|0,Ha|0,10,0)|0;Ka=Ka+ -1|0;a[Ka>>0]=hb|48;hb=xa;xa=At(xa|0,Ha|0,10,0)|0;if(!(Ha>>>0>9|(Ha|0)==9&hb>>>0>4294967295))break;else Ha=H}}else Ka=K;if((xa|0)==0){xa=ha;Ia=ia;Ja=Ra;Ha=Ta;La=ja;Ma=ka;Na=94}else while(1){Ka=Ka+ -1|0;a[Ka>>0]=(xa>>>0)%10|0|48;if(xa>>>0<10){xa=ha;Ia=ia;Ja=Ra;Ha=Ta;La=ja;Ma=ka;Na=94;break}else xa=(xa>>>0)/10|0}}else if((Na|0)==99){Na=0;Da=aa;ya=(Ta|0)==0;i:do if((Da&3|0)==0|ya){L=Ta;la=aa;O=ya;Na=102}else{za=Ta;ya=aa;while(1){if((a[ya>>0]|0)==0){qa=za;ua=ya;break i}ya=ya+1|0;za=za+ -1|0;Aa=(za|0)==0;if((ya&3|0)==0|Aa){L=za;la=ya;O=Aa;Na=102;break}}}while(0);j:do if((Na|0)==102){Na=0;if(!O)if((a[la>>0]|0)!=0){k:do if(L>>>0>3){qa=L;ua=la;do{hb=c[ua>>2]|0;if(((hb&-2139062144^-2139062144)&hb+ -16843009|0)!=0)break k;ua=ua+4|0;qa=qa+ -4|0}while(qa>>>0>3)}else{qa=L;ua=la}while(0);if((qa|0)==0)qa=0;else while(1){if((a[ua>>0]|0)==0)break j;ua=ua+1|0;qa=qa+ -1|0;if((qa|0)==0){qa=0;break}}}else{qa=L;ua=la}else{qa=0;ua=la}}while(0);Ga=(qa|0)!=0?ua:0;if((Ga|0)==0){za=X;Aa=aa;ya=W;Ca=Wa;Da=Ta;Ea=0;Fa=27488;Ga=aa+Ta|0;break}else{za=X;Aa=aa;ya=W;Ca=Wa;Da=Ga-Da|0;Ea=0;Fa=27488;break}}else if((Na|0)==115){ta=0;sa=0;ra=$;while(1){Na=c[ra>>2]|0;if((Na|0)==0)break;sa=at(G,Na)|0;if(!((sa|0)>-1)){p=-1;Na=376;break a}Na=sa+ta|0;if(sa>>>0>(_-ta|0)>>>0){sa=$;ra=Z;Na=122;break h}if(!(Na>>>0<_>>>0)){ta=Na;break}ta=Na;ra=ra+4|0}if((sa|0)<0){p=-1;Na=376;break a}else{sa=$;ra=Z;Na=122}}while(0);if((Na|0)==94){Na=0;Ca=(Ha|0)>-1?Ja&-65537:Ja;ya=(xa|0)==0&(Ia|0)==0;if(ya&(Ha|0)==0){za=xa;Aa=K;ya=Ia;Da=0;Ea=La;Fa=Ma;Ga=K}else{Da=(ya&1)+(I-Ka)|0;za=xa;Aa=Ka;ya=Ia;Da=(Ha|0)>(Da|0)?Ha:Da;Ea=La;Fa=Ma;Ga=K}}else if((Na|0)==122){Na=0;Ra=Ra&73728;Sa=(ta|0)<(Qa|0);if((Ra|0)==0&Sa){Ta=Qa-ta|0;st(s|0,32,(Ta>>>0>256?256:Ta)|0)|0;if(Ta>>>0>255)do{ct(s,256,e);Ta=Ta+ -256|0}while(Ta>>>0>255);ct(s,Ta,e)}l:do if((ta|0)!=0){f=0;Ta=sa;while(1){Ua=c[Ta>>2]|0;if((Ua|0)==0)break l;Ua=at(G,Ua)|0;f=Ua+f|0;if((f|0)>(ta|0))break l;ct(G,Ua,e);if(!(f>>>0<ta>>>0))break l;Ta=Ta+4|0}}while(0);if((Ra|0)==8192&Sa){Ra=Qa-ta|0;st(s|0,32,(Ra>>>0>256?256:Ra)|0)|0;if(Ra>>>0>255)do{ct(s,256,e);Ra=Ra+ -256|0}while(Ra>>>0>255);ct(s,Ra,e)}Ua=ra;Ra=W;f=Pa;Va=Sa?Qa:ta;Sa=Oa;continue}Ra=Ga-Aa|0;f=(Da|0)<(Ra|0)?Ra:Da;Sa=Ea+f|0;Va=(Qa|0)<(Sa|0)?Sa:Qa;Ta=Ca&73728;Qa=(Sa|0)<(Va|0);if((Ta|0)==0&Qa){Ua=Va-Sa|0;st(s|0,32,(Ua>>>0>256?256:Ua)|0)|0;if(Ua>>>0>255)do{ct(s,256,e);Ua=Ua+ -256|0}while(Ua>>>0>255);ct(s,Ua,e)}ct(Fa,Ea,e);if((Ta|0)==65536&Qa){Ua=Va-Sa|0;st(s|0,48,(Ua>>>0>256?256:Ua)|0)|0;if(Ua>>>0>255)do{ct(s,256,e);Ua=Ua+ -256|0}while(Ua>>>0>255);ct(s,Ua,e)}if((Ra|0)<(f|0)){f=f-Ra|0;st(s|0,48,(f>>>0>256?256:f)|0)|0;if(f>>>0>255)do{ct(s,256,e);f=f+ -256|0}while(f>>>0>255);ct(s,f,e)}ct(Aa,Ra,e);if(!((Ta|0)==8192&Qa)){Ua=za;Ra=ya;f=Pa;Sa=Oa;continue}Qa=Va-Sa|0;st(s|0,32,(Qa>>>0>256?256:Qa)|0)|0;if(Qa>>>0>255)do{ct(s,256,e);Qa=Qa+ -256|0}while(Qa>>>0>255);ct(s,Qa,e);Ua=za;Ra=ya;f=Pa;Sa=Oa}if((Na|0)==357){if((e|0)!=0){hb=pa;i=m;return hb|0}if((Sa|0)==0){hb=0;i=m;return hb|0}else q=1;while(1){r=c[l+(q<<2)>>2]|0;if((r|0)==0){n=1;o=q;break}s=j+(q<<3)|0;m:do if(!(r>>>0>20))do switch(r|0){case 9:{fb=c[g>>2]|0;hb=c[fb>>2]|0;c[g>>2]=fb+4;c[s>>2]=hb;break m};case 10:{hb=c[g>>2]|0;fb=c[hb>>2]|0;c[g>>2]=hb+4;hb=s;c[hb>>2]=fb;c[hb+4>>2]=((fb|0)<0)<<31>>31;break m};case 11:{hb=c[g>>2]|0;fb=c[hb>>2]|0;c[g>>2]=hb+4;hb=s;c[hb>>2]=fb;c[hb+4>>2]=0;break m};case 12:{hb=c[g>>2]|0;fb=hb;eb=c[fb>>2]|0;fb=c[fb+4>>2]|0;c[g>>2]=hb+8;hb=s;c[hb>>2]=eb;c[hb+4>>2]=fb;break m};case 13:{hb=c[g>>2]|0;fb=c[hb>>2]|0;c[g>>2]=hb+4;fb=(fb&65535)<<16>>16;hb=s;c[hb>>2]=fb;c[hb+4>>2]=((fb|0)<0)<<31>>31;break m};case 14:{hb=c[g>>2]|0;fb=c[hb>>2]|0;c[g>>2]=hb+4;hb=s;c[hb>>2]=fb&65535;c[hb+4>>2]=0;break m};case 15:{hb=c[g>>2]|0;fb=c[hb>>2]|0;c[g>>2]=hb+4;fb=(fb&255)<<24>>24;hb=s;c[hb>>2]=fb;c[hb+4>>2]=((fb|0)<0)<<31>>31;break m};case 16:{hb=c[g>>2]|0;fb=c[hb>>2]|0;c[g>>2]=hb+4;hb=s;c[hb>>2]=fb&255;c[hb+4>>2]=0;break m};case 17:{hb=c[g>>2]|0;c[k>>2]=c[hb>>2];c[k+4>>2]=c[hb+4>>2];gb=+h[k>>3];c[g>>2]=hb+8;h[s>>3]=gb;break m};case 18:{hb=c[g>>2]|0;c[k>>2]=c[hb>>2];c[k+4>>2]=c[hb+4>>2];gb=+h[k>>3];c[g>>2]=hb+8;h[s>>3]=gb;break m};default:break m}while(0);while(0);q=q+1|0;if((q|0)>=10){p=1;Na=376;break}}if((Na|0)==376){i=m;return p|0}while(1){o=o+1|0;if(!n){p=-1;Na=376;break}if((o|0)>=10){p=1;Na=376;break}n=(c[l+(o<<2)>>2]|0)==0}if((Na|0)==376){i=m;return p|0}}else if((Na|0)==376){i=m;return p|0}return 0}function gt(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;g=i;i=i+336|0;k=g+232|0;j=g+192|0;l=g;m=g+256|0;n=g+248|0;h=g+80|0;o=h+0|0;q=27592|0;p=o+112|0;do{c[o>>2]=c[q>>2];o=o+4|0;q=q+4|0}while((o|0)<(p|0));if((d+ -1|0)>>>0>2147483646)if((d|0)==0){d=1;o=n}else{c[($c()|0)>>2]=75;s=-1;i=g;return s|0}else o=b;b=-2-o|0;b=d>>>0>b>>>0?b:d;d=h+48|0;c[d>>2]=b;n=h+20|0;c[n>>2]=o;r=h+44|0;c[r>>2]=o;o=o+b|0;q=h+16|0;c[q>>2]=o;s=h+28|0;c[s>>2]=o;o=j+0|0;p=o+40|0;do{c[o>>2]=0;o=o+4|0}while((o|0)<(p|0));c[k>>2]=c[f>>2];if((ft(0,e,k,l,j)|0)<0)e=-1;else if((c[d>>2]|0)==0){f=c[r>>2]|0;c[r>>2]=m;c[s>>2]=m;c[n>>2]=m;c[d>>2]=80;c[q>>2]=m+80;e=ft(h,e,k,l,j)|0;if((f|0)!=0){md[c[h+36>>2]&63](h,0,0)|0;e=(c[n>>2]|0)==0?-1:e;c[r>>2]=f;c[d>>2]=0;c[q>>2]=0;c[s>>2]=0;c[n>>2]=0}}else e=ft(h,e,k,l,j)|0;if((b|0)==0){s=e;i=g;return s|0}s=c[n>>2]|0;a[s+(((s|0)==(c[q>>2]|0))<<31>>31)>>0]=0;s=e;i=g;return s|0}function ht(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;e=i;f=a+20|0;g=c[f>>2]|0;a=(c[a+16>>2]|0)-g|0;a=a>>>0>d>>>0?d:a;pt(g|0,b|0,a|0)|0;c[f>>2]=(c[f>>2]|0)+a;i=e;return d|0}function it(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0.0,j=0;d=i;i=i+112|0;f=d;g=f+0|0;e=g+108|0;do{c[g>>2]=0;g=g+4|0}while((g|0)<(e|0));j=f+4|0;c[j>>2]=a;g=f+8|0;c[g>>2]=-1;c[f+44>>2]=a;c[f+76>>2]=-1;c[f+104>>2]=0;e=f+108|0;c[e>>2]=~a;c[f+100>>2]=-1;h=+Ys(f,2,1);e=(c[j>>2]|0)-(c[g>>2]|0)+(c[e>>2]|0)|0;if((b|0)==0){i=d;return+h}if((e|0)!=0)a=a+e|0;c[b>>2]=a;i=d;return+h}function jt(){}function kt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;b=b-d-(c>>>0>a>>>0|0)>>>0;return(H=b,a-c>>>0|0)|0}function lt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;c=a+c>>>0;return(H=b+d+(c>>>0<a>>>0|0)>>>0,c|0)|0}function mt(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;while((f|0)<(d|0)){a[b+f>>0]=e?0:a[c+f>>0]|0;e=e?1:(a[c+f>>0]|0)==0;f=f+1|0}return b|0}function nt(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){H=b>>>c;return a>>>c|(b&(1<<c)-1)<<32-c}H=0;return b>>>c-32|0}function ot(b){b=b|0;var c=0;c=b;while(a[c>>0]|0)c=c+1|0;return c-b|0}function pt(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;if((e|0)>=4096)return Pa(b|0,d|0,e|0)|0;f=b|0;if((b&3)==(d&3)){while(b&3){if((e|0)==0)return f|0;a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}while((e|0)>=4){c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0;e=e-4|0}}while((e|0)>0){a[b>>0]=a[d>>0]|0;b=b+1|0;d=d+1|0;e=e-1|0}return f|0}function qt(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){H=b<<c|(a&(1<<c)-1<<32-c)>>>32-c;return a<<c}H=a<<c-32;return 0}function rt(b,c,d){b=b|0;c=c|0;d=d|0;var e=0;if((c|0)<(b|0)&(b|0)<(c+d|0)){e=b;c=c+d|0;b=b+d|0;while((d|0)>0){b=b-1|0;c=c-1|0;d=d-1|0;a[b>>0]=a[c>>0]|0}b=e}else pt(b,c,d)|0;return b|0}function st(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=b+e|0;Iif((e|0)>=20){d=d&255;i=b&3;h=d|d<<8|d<<16|d<<24;g=f&~3;if(i){i=b+4-i|0;while((b|0)<(i|0)){a[b>>0]=d;b=b+1|0}}while((b|0)<(g|0)){c[b>>2]=h;b=b+4|0}}while((b|0)<(f|0)){a[b>>0]=d;b=b+1|0}return b-e|0}function tt(a,b,c){a=a|0;b=b|0;c=c|0;if((c|0)<32){H=b>>c;return a>>>c|(b&(1<<c)-1)<<32-c}H=(b|0)<0?-1:0;return b>>c-32|0}function ut(b){b=b|0;var c=0;c=a[n+(b>>>24)>>0]|0;if((c|0)<8)return c|0;c=a[n+(b>>16&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[n+(b>>8&255)>>0]|0;if((c|0)<8)return c+16|0;return(a[n+(b&255)>>0]|0)+24|0}function vt(b){b=b|0;var c=0;c=a[m+(b&255)>>0]|0;if((c|0)<8)return c|0;c=a[m+(b>>8&255)>>0]|0;if((c|0)<8)return c+8|0;c=a[m+(b>>16&255)>>0]|0;if((c|0)<8)return c+16|0;return(a[m+(b>>>24)>>0]|0)+24|0}function wt(a,b){a=a|0;b=b|0;var c=0,d=0,e=0,f=0;f=a&65535;d=b&65535;c=da(d,f)|0;e=a>>>16;d=(c>>>16)+(da(d,e)|0)|0;b=b>>>16;a=da(b,f)|0;return(H=(d>>>16)+(da(b,e)|0)+(((d&65535)+a|0)>>>16)|0,d+a<<16|c&65535|0)|0}function xt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=b>>31|((b|0)<0?-1:0)<<1;i=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;f=d>>31|((d|0)<0?-1:0)<<1;e=((d|0)<0?-1:0)>>31|((d|0)<0?-1:0)<<1;h=kt(j^a,i^b,j,i)|0;g=H;b=f^j;a=e^i;a=kt((Ct(h,g,kt(f^c,e^d,f,e)|0,H,0)|0)^b,H^a,b,a)|0;return a|0}function yt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+8|0;j=f|0;h=b>>31|((b|0)<0?-1:0)<<1;g=((b|0)<0?-1:0)>>31|((b|0)<0?-1:0)<<1;l=e>>31|((e|0)<0?-1:0)<<1;k=((e|0)<0?-1:0)>>31|((e|0)<0?-1:0)<<1;b=kt(h^a,g^b,h,g)|0;a=H;Ct(b,a,kt(l^d,k^e,l,k)|0,H,j)|0;a=kt(c[j>>2]^h,c[j+4>>2]^g,h,g)|0;b=H;i=f;return(H=b,a)|0}function zt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=a;f=c;a=wt(e,f)|0;c=H;return(H=(da(b,f)|0)+(da(d,e)|0)+c|c&0,a|0|0)|0}function At(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;a=Ct(a,b,c,d,0)|0;return a|0}function Bt(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;g=i;i=i+8|0;f=g|0;Ct(a,b,d,e,f)|0;i=g;return(H=c[f+4>>2]|0,c[f>>2]|0)|0}function Ct(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;h=a;j=b;i=j;l=d;g=e;k=g;if((i|0)==0){g=(f|0)!=0;if((k|0)==0){if(g){c[f>>2]=(h>>>0)%(l>>>0);c[f+4>>2]=0}k=0;m=(h>>>0)/(l>>>0)>>>0;return(H=k,m)|0}else{if(!g){l=0;m=0;return(H=l,m)|0}c[f>>2]=a|0;c[f+4>>2]=b&0;l=0;m=0;return(H=l,m)|0}}m=(k|0)==0;do if((l|0)!=0){if(!m){k=(ut(k|0)|0)-(ut(i|0)|0)|0;if(k>>>0<=31){m=k+1|0;l=31-k|0;a=k-31>>31;j=m;b=h>>>(m>>>0)&a|i<<l;a=i>>>(m>>>0)&a;k=0;l=h<<l;break}if((f|0)==0){l=0;m=0;return(H=l,m)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;l=0;m=0;return(H=l,m)|0}k=l-1|0;if((k&l|0)!=0){l=(ut(l|0)|0)+33-(ut(i|0)|0)|0;p=64-l|0;m=32-l|0;n=m>>31;o=l-32|0;a=o>>31;j=l;b=m-1>>31&i>>>(o>>>0)|(i<<m|h>>>(l>>>0))&a;a=a&i>>>(l>>>0);k=h<<p&n;l=(i<<p|h>>>(o>>>0))&n|h<<m&l-33>>31;break}if((f|0)!=0){c[f>>2]=k&h;c[f+4>>2]=0}if((l|0)==1){o=j|b&0;p=a|0|0;return(H=o,p)|0}else{p=vt(l|0)|0;o=i>>>(p>>>0)|0;p=i<<32-p|h>>>(p>>>0)|0;return(H=o,p)|0}}else{if(m){if((f|0)!=0){c[f>>2]=(i>>>0)%(l>>>0);c[f+4>>2]=0}o=0;p=(i>>>0)/(l>>>0)>>>0;return(H=o,p)|0}if((h|0)==0){if((f|0)!=0){c[f>>2]=0;c[f+4>>2]=(i>>>0)%(k>>>0)}o=0;p=(i>>>0)/(k>>>0)>>>0;return(H=o,p)|0}l=k-1|0;if((l&k|0)==0){if((f|0)!=0){c[f>>2]=a|0;c[f+4>>2]=l&i|b&0}o=0;p=i>>>((vt(k|0)|0)>>>0);return(H=o,p)|0}k=(ut(k|0)|0)-(ut(i|0)|0)|0;if(k>>>0<=30){a=k+1|0;l=31-k|0;j=a;b=i<<l|h>>>(a>>>0);a=i>>>(a>>>0);k=0;l=h<<l;break}if((f|0)==0){o=0;p=0;return(H=o,p)|0}c[f>>2]=a|0;c[f+4>>2]=j|b&0;o=0;p=0;return(H=o,p)|0}while(0);if((j|0)==0){g=l;e=0;i=0}else{h=d|0|0;g=g|e&0;e=lt(h,g,-1,-1)|0;d=H;i=0;do{m=l;l=k>>>31|l<<1;k=i|k<<1;m=b<<1|m>>>31|0;n=b>>>31|a<<1|0;kt(e,d,m,n)|0;p=H;o=p>>31|((p|0)<0?-1:0)<<1;i=o&1;b=kt(m,n,o&h,(((p|0)<0?-1:0)>>31|((p|0)<0?-1:0)<<1)&g)|0;a=H;j=j-1|0}while((j|0)!=0);g=l;e=0}h=0;if((f|0)!=0){c[f>>2]=b;c[f+4>>2]=a}o=(k|0)>>>31|(g|h)<<1|(h<<1|k>>>31)&0|e;p=(k<<1|0>>>31)&-2|i;return(H=o,p)|0}function Dt(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return md[a&63](b|0,c|0,d|0)|0}function Et(a,b,c){a=a|0;b=b|0;c=c|0;return ha(0,a|0,b|0,c|0)|0}function Ft(a,b,c){a=a|0;b=b|0;c=c|0;return ha(1,a|0,b|0,c|0)|0}function Gt(a,b,c){a=a|0;b=b|0;c=c|0;return ha(2,a|0,b|0,c|0)|0}function Ht(a,b,c){a=a|0;b=b|0;c=c|0;return ha(3,a|0,b|0,c|0)|0}function It(a,b,c){a=a|0;b=b|0;c=c|0;return ha(4,a|0,b|0,c|0)|0}function Jt(a,b,c){a=a|0;b=b|0;c=c|0;return ha(5,a|0,b|0,c|0)|0}function Kt(a,b,c){a=a|0;b=b|0;c=c|0;return ha(6,a|0,b|0,c|0)|0}function Lt(a,b,c){a=a|0;b=b|0;c=c|0;return ha(7,a|0,b|0,c|0)|0}function Mt(a,b,c){a=a|0;b=b|0;c=c|0;return ha(8,a|0,b|0,c|0)|0}function Nt(a,b,c){a=a|0;b=b|0;c=c|0;return ha(9,a|0,b|0,c|0)|0}function Ot(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;nd[a&127](b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function Pt(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;ha(0,a|0,b|0,c|0,d|0,e|0,f|0,g|0)}function Qt(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;ha(1,a|0,b|0,c|0,d|0,e|0,f|0,g|0)}function Rt(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;ha(2,a|0,b|0,c|0,d|0,e|0,f|0,g|0)}function St(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;ha(3,a|0,b|0,c|0,d|0,e|0,f|0,g|0)}function Tt(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;ha(4,a|0,b|0,c|0,d|0,e|0,f|0,g|0)}function Ut(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;ha(5,a|0,b|0,c|0,d|0,e|0,f|0,g|0)}function Vt(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;ha(6,a|0,b|0,c|0,d|0,e|0,f|0,g|0)}function Wt(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;ha(7,a|0,b|0,c|0,d|0,e|0,f|0,g|0)}function Xt(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;ha(8,a|0,b|0,c|0,d|0,e|0,f|0,g|0)}function Yt(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;ha(9,a|0,b|0,c|0,d|0,e|0,f|0,g|0)}function Zt(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;od[a&127](b|0,c|0,d|0,e|0,f|0)}function _t(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ha(0,a|0,b|0,c|0,d|0,e|0)}function $t(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ha(1,a|0,b|0,c|0,d|0,e|0)}function au(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ha(2,a|0,b|0,c|0,d|0,e|0)}function bu(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ha(3,a|0,b|0,c|0,d|0,e|0)}function cu(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ha(4,a|0,b|0,c|0,d|0,e|0)}function du(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ha(5,a|0,b|0,c|0,d|0,e|0)}function eu(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ha(6,a|0,b|0,c|0,d|0,e|0)}function fu(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ha(7,a|0,b|0,c|0,d|0,e|0)}function gu(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ha(8,a|0,b|0,c|0,d|0,e|0)}function hu(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ha(9,a|0,b|0,c|0,d|0,e|0)}function iu(a){a=a|0;return pd[a&31]()|0}function ju(){return ha(0)|0}function ku(){return ha(1)|0}function lu(){return ha(2)|0}function mu(){return ha(3)|0}function nu(){return ha(4)|0}function ou(){return ha(5)|0}function pu(){return ha(6)|0}function qu(){return ha(7)|0}function ru(){return ha(8)|0}function su(){return ha(9)|0}function tu(a,b){a=a|0;b=b|0;qd[a&255](b|0)}function uu(a){a=a|0;ha(0,a|0)}function vu(a){a=a|0;ha(1,a|0)}function wu(a){a=a|0;ha(2,a|0)}function xu(a){a=a|0;ha(3,a|0)}function yu(a){a=a|0;ha(4,a|0)}function zu(a){a=a|0;ha(5,a|0)}function Au(a){a=a|0;ha(6,a|0)}function Bu(a){a=a|0;ha(7,a|0)}function Cu(a){a=a|0;ha(8,a|0)}function Du(a){a=a|0;ha(9,a|0)}function Eu(a,b,c){a=a|0;b=b|0;c=c|0;rd[a&127](b|0,c|0)}function Fu(a,b){a=a|0;b=b|0;ha(0,a|0,b|0)}function Gu(a,b){a=a|0;b=b|0;ha(1,a|0,b|0)}function Hu(a,b){a=a|0;b=b|0;ha(2,a|0,b|0)}function Iu(a,b){a=a|0;b=b|0;ha(3,a|0,b|0)}function Ju(a,b){a=a|0;b=b|0;ha(4,a|0,b|0)}function Ku(a,b){a=a|0;b=b|0;ha(5,a|0,b|0)}function Lu(a,b){a=a|0;b=b|0;ha(6,a|0,b|0)}function Mu(a,b){a=a|0;b=b|0;ha(7,a|0,b|0)}function Nu(a,b){a=a|0;b=b|0;ha(8,a|0,b|0)}function Ou(a,b){a=a|0;b=b|0;ha(9,a|0,b|0)}function Pu(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;return sd[a&31](b|0,c|0,d|0,e|0,f|0,g|0)|0}function Qu(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ha(0,a|0,b|0,c|0,d|0,e|0,f|0)|0}function Ru(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ha(1,a|0,b|0,c|0,d|0,e|0,f|0)|0}function Su(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ha(2,a|0,b|0,c|0,d|0,e|0,f|0)|0}function Tu(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ha(3,a|0,b|0,c|0,d|0,e|0,f|0)|0}function Uu(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ha(4,a|0,b|0,c|0,d|0,e|0,f|0)|0}function Vu(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ha(5,a|0,b|0,c|0,d|0,e|0,f|0)|0}function Wu(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ha(6,a|0,b|0,c|0,d|0,e|0,f|0)|0}function Xu(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ha(7,a|0,b|0,c|0,d|0,e|0,f|0)|0}function Yu(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ha(8,a|0,b|0,c|0,d|0,e|0,f|0)|0}function Zu(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return ha(9,a|0,b|0,c|0,d|0,e|0,f|0)|0}function _u(a,b,c,d,e,f,g,h,i,j){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;j=j|0;td[a&31](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0,j|0)}function $u(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;ha(0,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function av(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;ha(1,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function bv(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;ha(2,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function cv(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;ha(3,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function dv(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;ha(4,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function ev(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;ha(5,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function fv(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;ha(6,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function gv(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;ha(7,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function hv(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;ha(8,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function iv(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;ha(9,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function jv(a,b){a=a|0;b=b|0;return ud[a&127](b|0)|0}function kv(a){a=a|0;return ha(0,a|0)|0}function lv(a){a=a|0;return ha(1,a|0)|0}function mv(a){a=a|0;return ha(2,a|0)|0}function nv(a){a=a|0;return ha(3,a|0)|0}function ov(a){a=a|0;return ha(4,a|0)|0}function pv(a){a=a|0;return ha(5,a|0)|0}function qv(a){a=a|0;return ha(6,a|0)|0}function rv(a){a=a|0;return ha(7,a|0)|0}function sv(a){a=a|0;return ha(8,a|0)|0}function tv(a){a=a|0;return ha(9,a|0)|0}function uv(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=+h;vd[a&31](b|0,c|0,d|0,e|0,f|0,g|0,+h)}function vv(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;ha(0,a|0,b|0,c|0,d|0,e|0,f|0,+g)}function wv(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;ha(1,a|0,b|0,c|0,d|0,e|0,f|0,+g)}function xv(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;ha(2,a|0,b|0,c|0,d|0,e|0,f|0,+g)}function yv(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;ha(3,a|0,b|0,c|0,d|0,e|0,f|0,+g)}function zv(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;ha(4,a|0,b|0,c|0,d|0,e|0,f|0,+g)}function Av(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;ha(5,a|0,b|0,c|0,d|0,e|0,f|0,+g)}function Bv(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;ha(6,a|0,b|0,c|0,d|0,e|0,f|0,+g)}function Cv(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;ha(7,a|0,b|0,c|0,d|0,e|0,f|0,+g)}function Dv(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;ha(8,a|0,b|0,c|0,d|0,e|0,f|0,+g)}function Ev(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;ha(9,a|0,b|0,c|0,d|0,e|0,f|0,+g)}function Fv(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;wd[a&127](b|0,c|0,d|0)}function Gv(a,b,c){a=a|0;b=b|0;c=c|0;ha(0,a|0,b|0,c|0)}function Hv(a,b,c){a=a|0;b=b|0;c=c|0;ha(1,a|0,b|0,c|0)}function Iv(a,b,c){a=a|0;b=b|0;c=c|0;ha(2,a|0,b|0,c|0)}function Jv(a,b,c){a=a|0;b=b|0;c=c|0;ha(3,a|0,b|0,c|0)}function Kv(a,b,c){a=a|0;b=b|0;c=c|0;ha(4,a|0,b|0,c|0)}function Lv(a,b,c){a=a|0;b=b|0;c=c|0;ha(5,a|0,b|0,c|0)}function Mv(a,b,c){a=a|0;b=b|0;c=c|0;ha(6,a|0,b|0,c|0)}function Nv(a,b,c){a=a|0;b=b|0;c=c|0;ha(7,a|0,b|0,c|0)}function Ov(a,b,c){a=a|0;b=b|0;c=c|0;ha(8,a|0,b|0,c|0)}function Pv(a,b,c){a=a|0;b=b|0;c=c|0;ha(9,a|0,b|0,c|0)}function Qv(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;xd[a&31](b|0,c|0,d|0,e|0,f|0,+g)}function Rv(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;ha(0,a|0,b|0,c|0,d|0,e|0,+f)}function Sv(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;ha(1,a|0,b|0,c|0,d|0,e|0,+f)}function Tv(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;ha(2,a|0,b|0,c|0,d|0,e|0,+f)}function Uv(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;ha(3,a|0,b|0,c|0,d|0,e|0,+f)}function Vv(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;ha(4,a|0,b|0,c|0,d|0,e|0,+f)}function Wv(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;ha(5,a|0,b|0,c|0,d|0,e|0,+f)}function Xv(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;ha(6,a|0,b|0,c|0,d|0,e|0,+f)}function Yv(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;ha(7,a|0,b|0,c|0,d|0,e|0,+f)}function Zv(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;ha(8,a|0,b|0,c|0,d|0,e|0,+f)}function _v(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;ha(9,a|0,b|0,c|0,d|0,e|0,+f)}function $v(a){a=a|0;yd[a&31]()}function aw(){ha(0)}function bw(){ha(1)}function cw(){ha(2)}function dw(){ha(3)}function ew(){ha(4)}function fw(){ha(5)}function gw(){ha(6)}function hw(){ha(7)}function iw(){ha(8)}function jw(){ha(9)}function kw(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;return zd[a&31](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)|0}function lw(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return ha(0,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function mw(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return ha(1,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function nw(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return ha(2,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function ow(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return ha(3,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function pw(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return ha(4,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function qw(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return ha(5,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function rw(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return ha(6,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function sw(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return ha(7,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function tw(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return ha(8,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function uw(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;return ha(9,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)|0}function vw(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return Ad[a&31](b|0,c|0,d|0,e|0)|0}function ww(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(0,a|0,b|0,c|0,d|0)|0}function xw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(1,a|0,b|0,c|0,d|0)|0}function yw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(2,a|0,b|0,c|0,d|0)|0}function zw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(3,a|0,b|0,c|0,d|0)|0}function Aw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(4,a|0,b|0,c|0,d|0)|0}function Bw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(5,a|0,b|0,c|0,d|0)|0}function Cw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(6,a|0,b|0,c|0,d|0)|0}function Dw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(7,a|0,b|0,c|0,d|0)|0}function Ew(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(8,a|0,b|0,c|0,d|0)|0}function Fw(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;return ha(9,a|0,b|0,c|0,d|0)|0}function Gw(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;Bd[a&31](b|0,c|0,d|0,e|0,f|0,g|0,h|0,i|0)}function Hw(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;ha(0,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function Iw(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;ha(1,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function Jw(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;ha(2,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function Kw(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;ha(3,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function Lw(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;ha(4,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function Mw(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;ha(5,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function Nw(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;ha(6,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function Ow(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;ha(7,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function Pw(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;ha(8,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function Qw(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;ha(9,a|0,b|0,c|0,d|0,e|0,f|0,g|0,h|0)}function Rw(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;Cd[a&63](b|0,c|0,d|0,e|0,f|0,g|0)}function Sw(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ha(0,a|0,b|0,c|0,d|0,e|0,f|0)}function Tw(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ha(1,a|0,b|0,c|0,d|0,e|0,f|0)}function Uw(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ha(2,a|0,b|0,c|0,d|0,e|0,f|0)}function Vw(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ha(3,a|0,b|0,c|0,d|0,e|0,f|0)}function Ww(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ha(4,a|0,b|0,c|0,d|0,e|0,f|0)}function Xw(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ha(5,a|0,b|0,c|0,d|0,e|0,f|0)}function Yw(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ha(6,a|0,b|0,c|0,d|0,e|0,f|0)}function Zw(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ha(7,a|0,b|0,c|0,d|0,e|0,f|0)}function _w(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ha(8,a|0,b|0,c|0,d|0,e|0,f|0)}function $w(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ha(9,a|0,b|0,c|0,d|0,e|0,f|0)}function ax(a,b,c){a=a|0;b=b|0;c=c|0;return Dd[a&127](b|0,c|0)|0}function bx(a,b){a=a|0;b=b|0;return ha(0,a|0,b|0)|0}function cx(a,b){a=a|0;b=b|0;return ha(1,a|0,b|0)|0}function dx(a,b){a=a|0;b=b|0;return ha(2,a|0,b|0)|0}function ex(a,b){a=a|0;b=b|0;return ha(3,a|0,b|0)|0}function fx(a,b){a=a|0;b=b|0;return ha(4,a|0,b|0)|0}function gx(a,b){a=a|0;b=b|0;return ha(5,a|0,b|0)|0}function hx(a,b){a=a|0;b=b|0;return ha(6,a|0,b|0)|0}function ix(a,b){a=a|0;b=b|0;return ha(7,a|0,b|0)|0}function jx(a,b){a=a|0;b=b|0;return ha(8,a|0,b|0)|0}function kx(a,b){a=a|0;b=b|0;return ha(9,a|0,b|0)|0}function lx(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;return Ed[a&63](b|0,c|0,d|0,e|0,f|0)|0}function mx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ha(0,a|0,b|0,c|0,d|0,e|0)|0}function nx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ha(1,a|0,b|0,c|0,d|0,e|0)|0}function ox(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ha(2,a|0,b|0,c|0,d|0,e|0)|0}function px(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ha(3,a|0,b|0,c|0,d|0,e|0)|0}function qx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ha(4,a|0,b|0,c|0,d|0,e|0)|0}function rx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ha(5,a|0,b|0,c|0,d|0,e|0)|0}function sx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ha(6,a|0,b|0,c|0,d|0,e|0)|0}function tx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ha(7,a|0,b|0,c|0,d|0,e|0)|0}function ux(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ha(8,a|0,b|0,c|0,d|0,e|0)|0}function vx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;return ha(9,a|0,b|0,c|0,d|0,e|0)|0}function wx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;Fd[a&63](b|0,c|0,d|0,e|0)}function xx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ha(0,a|0,b|0,c|0,d|0)}function yx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ha(1,a|0,b|0,c|0,d|0)}function zx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ha(2,a|0,b|0,c|0,d|0)}function Ax(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ha(3,a|0,b|0,c|0,d|0)}function Bx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ha(4,a|0,b|0,c|0,d|0)}function Cx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ha(5,a|0,b|0,c|0,d|0)}function Dx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ha(6,a|0,b|0,c|0,d|0)}function Ex(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ha(7,a|0,b|0,c|0,d|0)}function Fx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ha(8,a|0,b|0,c|0,d|0)}function Gx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ha(9,a|0,b|0,c|0,d|0)}function Hx(a,b,c){a=a|0;b=b|0;c=c|0;ea(0);return 0}function Ix(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;ea(1)}function Jx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ea(2)}function Kx(){ea(3);return 0}function Lx(a){a=a|0;ea(4)}function Mx(a,b){a=a|0;b=b|0;ea(5)}function Nx(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ea(6);return 0}function Ox(a,b,c,d,e,f,g,h,i){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;ea(7)}function Px(a){a=a|0;ea(8);return 0}function Qx(a,b,c,d,e,f,g){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=+g;ea(9)}function Rx(a,b,c){a=a|0;b=b|0;c=c|0;ea(10)}function Sx(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=+f;ea(11)}function Tx(){ea(12)}function Ux(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;ea(13);return 0}function Vx(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ea(14);return 0}function Wx(a,b,c,d,e,f,g,h){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;ea(15)}function Xx(a,b,c,d,e,f){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;ea(16)}function Yx(a,b){a=a|0;b=b|0;ea(17);return 0}function Zx(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;ea(18);return 0}function _x(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;ea(19)}
function pj(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f;h=d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24;a=a+4|0;a=d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24;b=b+(a>>1)|0;if((a&1|0)!=0)h=c[(c[b>>2]|0)+h>>2]|0;c[g>>2]=e;rd[h&127](b,g);zb(c[g>>2]|0);i=f;return}function qj(){var b=0,d=0,e=0,f=0,g=0,h=0;b=i;d=Ts(680)|0;a:do if((d|0)==0){while(1){d=c[6272]|0;c[6272]=d+0;if((d|0)==0)break;yd[d&31]();d=Ts(680)|0;if((d|0)!=0)break a}h=_b(4)|0;c[h>>2]=24928;ed(h|0,24976,117)}while(0);c[d+660>>2]=0;c[d+664>>2]=0;c[d+668>>2]=0;c[d+672>>2]=vc()|0;c[d+4>>2]=71;c[d+8>>2]=169;c[d+12>>2]=72;c[d+16>>2]=170;c[d+104>>2]=0;c[d+108>>2]=0;c[d+20>>2]=0;c[d+112>>2]=7640;c[d+116>>2]=126;c[d+120>>2]=0;c[d+124>>2]=0;c[d+128>>2]=0;e=d+136|0;c[e>>2]=d;c[d>>2]=171;c[d+140>>2]=0;g=c[e>>2]|0;f=d+148|0;h=c[f>>2]|0;st(e|0,0,488)|0;c[e>>2]=g;c[f>>2]=h;c[d+152>>2]=1;Ki(e);c[d+144>>2]=0;c[d+160>>2]=0;f=0;while(1){if((f|0)>=4){f=0;break}c[e+(f<<2)+164>>2]=0;f=f+1|0}while(1){if((f|0)>=4)break;c[e+(f<<2)+180>>2]=0;c[e+(f<<2)+196>>2]=0;f=f+1|0}c[d+448>>2]=0;ug(e);g=md[c[c[d+140>>2]>>2]&63](e,0,28)|0;c[d+596>>2]=g;c[g>>2]=87;c[g+4>>2]=172;c[g+8>>2]=173;c[g+12>>2]=174;c[g+16>>2]=0;c[g+20>>2]=0;c[g+24>>2]=1;c[d+156>>2]=200;g=Ts(28)|0;if((g|0)!=0?(c[g+ -4>>2]&3|0)!=0:0){f=g+0|0;h=f+28|0;do{a[f>>0]=0;f=f+1|0}while((f|0)<(h|0))}c[d+160>>2]=g;c[d+148>>2]=d;c[g+8>>2]=175;c[g+12>>2]=93;c[g+16>>2]=73;c[g+20>>2]=64;c[g+24>>2]=176;Ag(e,225,65535);f=d+624|0;h=f+36|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(h|0));i=b;return d|0}function rj(a){a=a|0;var b=0;b=i;a=pd[a&31]()|0;i=b;return a|0}function sj(a){a=a|0;return 10072}function tj(a){a=a|0;var b=0,d=0,e=0;b=i;if((a|0)==0){i=b;return}Us(c[a+160>>2]|0);d=c[a+140>>2]|0;if((d|0)!=0)qd[c[d+40>>2]&255](a+136|0);c[a+140>>2]=0;c[a+156>>2]=0;d=c[a+652>>2]|0;if((d|0)!=0)Us(d);zb(c[a+672>>2]|0);d=c[a+660>>2]|0;if((d|0)!=0){e=a+664|0;if((c[e>>2]|0)!=(d|0))c[e>>2]=d;Us(d)}Us(a);i=b;return}function uj(){var b=0,d=0,e=0,f=0;b=i;Sb(10072,10080,10240,0,10216,94,10208,0,10208,0,9736,10200,177);cb(10072,1,10192,10184,95,22);d=Ts(8)|0;a:do Iif((d|0)==0){while(1){d=c[6272]|0;c[6272]=d+0;if((d|0)==0)break;yd[d&31]();d=Ts(8)|0;if((d|0)!=0)break a}e=_b(4)|0;c[e>>2]=24928;ed(e|0,24976,117)}while(0);a[d>>0]=74;a[d+1>>0]=0;a[d+2>>0]=0;a[d+3>>0]=0;e=d+4|0;a[e>>0]=0;a[e+1>>0]=0;a[e+2>>0]=0;a[e+3>>0]=0;e=Ts(8)|0;b:do Iif((e|0)==0){while(1){e=c[6272]|0;c[6272]=e+0;if((e|0)==0)break;yd[e&31]();e=Ts(8)|0;if((e|0)!=0)break b}e=_b(4)|0;c[e>>2]=24928;ed(e|0,24976,117)}while(0);a[e>>0]=75;a[e+1>>0]=0;a[e+2>>0]=0;a[e+3>>0]=0;f=e+4|0;a[f>>0]=0;a[f+1>>0]=0;a[f+2>>0]=0;a[f+3>>0]=0;xc(10072,10272,10176,10144,65,d|0,10176,10136,59,e|0);d=Ts(8)|0;c:do Iif((d|0)==0){while(1){d=c[6272]|0;c[6272]=d+0;if((d|0)==0)break;yd[d&31]();d=Ts(8)|0;if((d|0)!=0)break c}f=_b(4)|0;c[f>>2]=24928;ed(f|0,24976,117)}while(0);a[d>>0]=60;a[d+1>>0]=0;a[d+2>>0]=0;a[d+3>>0]=0;f=d+4|0;a[f>>0]=0;a[f+1>>0]=0;a[f+2>>0]=0;a[f+3>>0]=0;Qc(10072,9752,4,10120,10112,54,d|0,0);d=Ts(8)|0;d:do Iif((d|0)==0){while(1){d=c[6272]|0;c[6272]=d+0;if((d|0)==0)break;yd[d&31]();d=Ts(8)|0;if((d|0)!=0)break d}f=_b(4)|0;c[f>>2]=24928;ed(f|0,24976,117)}while(0);a[d>>0]=96;a[d+1>>0]=0;a[d+2>>0]=0;a[d+3>>0]=0;f=d+4|0;a[f>>0]=0;a[f+1>>0]=0;a[f+2>>0]=0;a[f+3>>0]=0;xc(10072,10288,25920,10104,66,d|0,0,0,0,0);d=Ts(8)|0;e:do Iif((d|0)==0){while(1){d=c[6272]|0;c[6272]=d+0;if((d|0)==0)break;yd[d&31]();d=Ts(8)|0;if((d|0)!=0)break e}f=_b(4)|0;c[f>>2]=24928;ed(f|0,24976,117)}while(0);a[d>>0]=97;a[d+1>>0]=0;a[d+2>>0]=0;a[d+3>>0]=0;f=d+4|0;a[f>>0]=0;a[f+1>>0]=0;a[f+2>>0]=0;a[f+3>>0]=0;xc(10072,10296,25920,10104,66,d|0,0,0,0,0);d=Ts(8)|0;f:do Iif((d|0)==0){while(1){d=c[6272]|0;c[6272]=d+0;if((d|0)==0)break;yd[d&31]();d=Ts(8)|0;if((d|0)!=0)break f}f=_b(4)|0;c[f>>2]=24928;ed(f|0,24976,117)}while(0);a[d>>0]=76;a[d+1>>0]=0;a[d+2>>0]=0;a[d+3>>0]=0;f=d+4|0;a[f>>0]=0;a[f+1>>0]=0;a[f+2>>0]=0;a[f+3>>0]=0;xc(10072,10312,9976,10096,67,d|0,0,0,0,0);d=Ts(8)|0;Eif((d|0)!=0){f=d;a[f>>0]=68;a[f+1>>0]=0;a[f+2>>0]=0;a[f+3>>0]=0;e=f+4|0;a[e>>0]=0;a[e+1>>0]=0;a[e+2>>0]=0;a[e+3>>0]=0;Qc(10072,9768,3,10024,10016,49,f|0,0);i=b;return}while(1){d=c[6272]|0;c[6272]=d+0;if((d|0)==0){e=28;break}yd[d&31]();d=Ts(8)|0;if((d|0)!=0){e=29;break}}if((e|0)==28){f=_b(4)|0;c[f>>2]=24928;ed(f|0,24976,117)}else if((e|0)==29){a[d>>0]=68;a[d+1>>0]=0;a[d+2>>0]=0;a[d+3>>0]=0;f=d+4|0;a[f>>0]=0;a[f+1>>0]=0;a[f+2>>0]=0;a[f+3>>0]=0;Qc(10072,9768,3,10024,10016,49,d|0,0);i=b;return}}function vj(a,b){a=a|0;b=b|0;var d=0;d=i;b=c[b+588>>2]|0;c[a>>2]=b;Zb(b|0);i=d;return}function wj(a,b){a=a|0;b=b|0;var d=0;d=i;Zb(c[b>>2]|0);a=a+588|0;zb(c[a>>2]|0);c[a>>2]=c[b>>2];i=d;return}function xj(a){a=a|0;return c[a+28>>2]|0}function yj(a,b){a=a|0;b=b|0;c[a+28>>2]=b;return}function zj(a){a=a|0;return c[a+32>>2]|0}function Aj(a,b){a=a|0;b=b|0;c[a+32>>2]=b;return}function Bj(a){a=a|0;return c[a+572>>2]|0}function Cj(a,b){a=a|0;b=b|0;c[a+572>>2]=b;return}function Dj(b,d){b=b|0;d=d|0;var e=0;e=i;d=c[d+40>>2]|0;if((d|0)==1){a[b>>0]=8;d=b+1|0;a[d>>0]=103;a[d+1>>0]=114;a[d+2>>0]=97;a[d+3>>0]=121;a[b+5>>0]=0;i=e;return}else if((d|0)==2){a[b>>0]=6;d=b+1|0;a[d+0>>0]=a[10592]|0;a[d+1>>0]=a[10593]|0;a[d+2>>0]=a[10594]|0;a[b+4>>0]=0;i=e;return}else if((d|0)==4){a[b>>0]=8;d=b+1|0;a[d>>0]=99;a[d+1>>0]=109;a[d+2>>0]=121;a[d+3>>0]=107;a[b+5>>0]=0;i=e;return}else{a[b>>0]=6;d=b+1|0;a[d+0>>0]=a[10592]|0;a[d+1>>0]=a[10593]|0;a[d+2>>0]=a[10594]|0;a[b+4>>0]=0;i=e;return}}function Ej(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;e=i;g=a[d>>0]|0;h=(g&1)==0;if(h){l=d+1|0;j=(g&255)>>>1}else{l=c[d+8>>2]|0;j=c[d+4>>2]|0}k=j>>>0>4;m=k?4:j;a:do if((m|0)==0)f=7;else{n=10576;while(1){if((a[l>>0]|0)!=(a[n>>0]|0))break a;m=m+ -1|0;if((m|0)==0){f=7;break}else{l=l+1|0;n=n+1|0}}}while(0);if((f|0)==7?j>>>0>3&(k^1):0){c[b+36>>2]=1;c[b+40>>2]=1;n=1;m=b+28|0;m=c[m>>2]|0;m=da(n,m)|0;n=b+596|0;c[n>>2]=m;i=e;return}if(h){h=d+1|0;d=(g&255)>>>1}else{h=c[d+8>>2]|0;d=c[d+4>>2]|0}g=d>>>0>4;j=g?4:d;b:do if((j|0)==0)f=16;else{k=10584;while(1){if((a[h>>0]|0)!=(a[k>>0]|0))break;j=j+ -1|0;if((j|0)==0){f=16;break b}else{h=h+1|0;k=k+1|0}}g=b+36|0}while(0);if((f|0)==16){f=b+36|0;if(d>>>0>3&(g^1)){c[f>>2]=4;c[b+40>>2]=4;n=4;m=b+28|0;m=c[m>>2]|0;m=da(n,m)|0;n=b+596|0;c[n>>2]=m;i=e;return}else g=f}c[g>>2]=3;c[b+40>>2]=2;n=c[b+36>>2]|0;m=b+28|0;m=c[m>>2]|0;m=da(n,m)|0;n=b+596|0;c[n>>2]=m;i=e;return}function Fj(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+16|0;f=e;g=a[d>>0]|0;if((g&1)==0){g=(g&255)>>>1;j=d+1|0}else{g=c[d+4>>2]|0;j=c[d+8>>2]|0}d=b+592|0;if((a[d>>0]|0)==0){$e(b);_e(b,c[b+572>>2]|0,1);Pd(b,1);a[d>>0]=1}h=b+600|0;d=b+604|0;ij(e+4|0,h,c[d>>2]|0,j,j+g|0);k=c[h>>2]|0;c[f>>2]=k;j=b+596|0;if((c[j>>2]|0)>>>0>g>>>0)b=k;else{do{Qd(b,f,1)|0;k=c[j>>2]|0;c[f>>2]=(c[f>>2]|0)+k;g=g-k|0}while(!(g>>>0<k>>>0));b=c[h>>2]|0}f=c[d>>2]|0;g=f+(0-g)|0;if((b|0)==(g|0)){i=e;return}j=b+(g-b)|0;k=f-j|0;rt(b|0,j|0,k|0)|0;b=b+k|0;if((c[d>>2]|0)==(b|0)){i=e;return}c[d>>2]=b;i=e;return}function Gj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;e=i;i=i+32|0;d=e;h=c[b+20>>2]|0;do if((h|0)==101)g=3;else{f=b+20|0;if((h|0)==103)break;else if((h|0)==102){g=3;break}c[(c[b>>2]|0)+20>>2]=21;c[(c[b>>2]|0)+24>>2]=c[f>>2];qd[c[c[b>>2]>>2]&255](b)}while(0);if((g|0)==3){if((c[b+264>>2]|0)>>>0<(c[b+32>>2]|0)>>>0){c[(c[b>>2]|0)+20>>2]=69;qd[c[c[b>>2]>>2]&255](b)}qd[c[(c[b+392>>2]|0)+8>>2]&255](b)}h=b+392|0;j=b+288|0;g=b+8|0;f=b+404|0;while(1){k=c[h>>2]|0;if((c[k+16>>2]|0)!=0)break;qd[c[k>>2]&255](b);k=0;while(1){if(!(k>>>0<(c[j>>2]|0)>>>0))break;l=c[g>>2]|0;if((l|0)!=0){c[l+4>>2]=k;c[(c[g>>2]|0)+8>>2]=c[j>>2];qd[c[c[g>>2]>>2]&255](b)}if((Dd[c[(c[f>>2]|0)+4>>2]&127](b,0)|0)==0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}k=k+1|0}qd[c[(c[h>>2]|0)+8>>2]&255](b)}qd[c[(c[b+408>>2]|0)+12>>2]&255](b);qd[c[(c[b+24>>2]|0)+16>>2]&255](b);do if((c[b+4>>2]|0)!=0){f=b+4|0;g=1;while(1){if((g|0)<=0)break;rd[c[(c[f>>2]|0)+36>>2]&127](b,g);g=g+ -1|0}f=b+20|0;if((c[b+16>>2]|0)==0){c[f>>2]=100;break}else{c[f>>2]=200;c[b+312>>2]=0;break}}while(0);f=c[(c[b+24>>2]|0)+4>>2]|0;if((f|0)==8192){i=e;return}l=c[b+612>>2]|0;k=Ts(8)|0;c[k>>2]=4;j=k+4|0;a[j>>0]=100;a[j+1>>0]=97;a[j+2>>0]=116;a[j+3>>0]=97;c[d>>2]=k;c[d+8>>2]=l;c[d+16>>2]=8192-f;zb(Lb(c[b+588>>2]|0,3,10352,d|0)|0);i=e;return}function Hj(a){a=a|0;return}function Ij(a){a=a|0;return}function Jj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;i=i+32|0;f=d;b=c[b+12>>2]|0;e=b+612|0;g=c[e>>2]|0;h=Ts(8)|0;c[h>>2]=4;j=h+4|0;a[j>>0]=100;a[j+1>>0]=97;a[j+2>>0]=116;a[j+3>>0]=97;c[f>>2]=h;c[f+8>>2]=g;c[f+16>>2]=8192;zb(Lb(c[b+588>>2]|0,3,9848,f|0)|0);b=b+24|0;c[c[b>>2]>>2]=c[e>>2];c[(c[b>>2]|0)+4>>2]=8192;i=d;return 1}function Kj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;d=i;i=i+240|0;f=d;e=d+16|0;g=d+32|0;rd[c[(c[b>>2]|0)+12>>2]&127](b,g);b=c[b+12>>2]|0;h=ot(g|0)|0;if(h>>>0>4294967279)Hk();if(h>>>0<11){j=h<<1&255;a[e>>0]=j;l=e+1|0}else{j=h+16&-16;k=(j|0)==0?1:j;l=Ts(k)|0;a:do if((l|0)==0){while(1){l=c[6272]|0;c[6272]=l+0;if((l|0)==0)break;yd[l&31]();l=Ts(k)|0;if((l|0)!=0)break a}l=_b(4)|0;c[l>>2]=24928;ed(l|0,24976,117)}while(0);c[e+8>>2]=l;j=j|1;c[e>>2]=j;c[e+4>>2]=h;j=j&255}pt(l|0,g|0,h|0)|0;a[l+h>>0]=0;g=Ts(9)|0;c[g>>2]=5;l=g+4|0;a[l+0>>0]=a[10344]|0;a[l+1>>0]=a[10345]|0;a[l+2>>0]=a[10346]|0;a[l+3>>0]=a[10347]|0;a[l+4>>0]=a[10348]|0;c[f>>2]=g;g=(j&1)==0;if(g){k=(j&255)>>>1;j=Ts(k+4|0)|0;c[j>>2]=k;h=e+1|0}else{k=c[e+4>>2]|0;j=Ts(k+4|0)|0;c[j>>2]=k;h=c[e+8>>2]|0}pt(j+4|0,h|0,k|0)|0;c[f+8>>2]=j;zb(Lb(c[b+588>>2]|0,2,1e4,f|0)|0);if(g){i=d;return}Us(c[e+8>>2]|0);i=d;return}function Lj(a,b){a=a|0;b=b|0;var e=0,f=0;e=i;f=d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24;a=a+4|0;a=d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24;b=b+(a>>1)|0;if((a&1|0)==0){a=f;qd[a&255](b);i=e;return}else{a=c[(c[b>>2]|0)+f>>2]|0;qd[a&255](b);i=e;return}}function Mj(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;g=h;j=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;m=b+4|0;m=d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24;b=e+(m>>1)|0;if((m&1|0)!=0)j=c[(c[b>>2]|0)+j>>2]|0;e=f+4|0;f=c[f>>2]|0;if(f>>>0>4294967279)Hk();if(f>>>0<11){a[g>>0]=f<<1;m=g+1|0}else{k=f+16&-16;l=(k|0)==0?1:k;m=Ts(l)|0;a:do if((m|0)==0){while(1){m=c[6272]|0;c[6272]=m+0;if((m|0)==0)break;yd[m&31]();m=Ts(l)|0;if((m|0)!=0)break a}m=_b(4)|0;c[m>>2]=24928;ed(m|0,24976,117)}while(0);c[g+8>>2]=m;c[g>>2]=k|1;c[g+4>>2]=f}pt(m|0,e|0,f|0)|0;a[m+f>>0]=0;rd[j&127](b,g);if((a[g>>0]&1)==0){i=h;return}Us(c[g+8>>2]|0);i=h;return}function Nj(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;g=i;i=i+16|0;f=g;h=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;b=b+4|0;b=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;e=e+(b>>1)|0;if((b&1|0)!=0)h=c[(c[e>>2]|0)+h>>2]|0;rd[h&127](f,e);h=a[f>>0]|0;if((h&1)==0){e=(h&255)>>>1;b=Ts(e+4|0)|0;c[b>>2]=e;pt(b+4|0,f+1|0,e|0)|0;i=g;return b|0}else{h=c[f+4>>2]|0;b=Ts(h+4|0)|0;c[b>>2]=h;e=f+8|0;pt(b+4|0,c[e>>2]|0,h|0)|0;Us(c[e>>2]|0);i=g;return b|0}return 0}function Oj(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;g=h;j=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;m=b+4|0;m=d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24;b=e+(m>>1)|0;if((m&1|0)!=0)j=c[(c[b>>2]|0)+j>>2]|0;e=f+4|0;f=c[f>>2]|0;if(f>>>0>4294967279)Hk();if(f>>>0<11){a[g>>0]=f<<1;m=g+1|0}else{k=f+16&-16;l=(k|0)==0?1:k;m=Ts(l)|0;a:do if((m|0)==0){while(1){m=c[6272]|0;c[6272]=m+0;if((m|0)==0)break;yd[m&31]();m=Ts(l)|0;if((m|0)!=0)break a}m=_b(4)|0;c[m>>2]=24928;ed(m|0,24976,117)}while(0);c[g+8>>2]=m;c[g>>2]=k|1;c[g+4>>2]=f}pt(m|0,e|0,f|0)|0;a[m+f>>0]=0;rd[j&127](b,g);if((a[g>>0]&1)==0){i=h;return}Us(c[g+8>>2]|0);i=h;return}function Pj(a,b){a=a|0;b=b|0;var e=0,f=0;e=i;f=d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24;a=a+4|0;a=d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24;b=b+(a>>1)|0;if((a&1|0)==0){a=f;a=ud[a&127](b)|0;i=e;return a|0}else{a=c[(c[b>>2]|0)+f>>2]|0;a=ud[a&127](b)|0;i=e;return a|0}return 0}function Qj(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0;f=i;g=d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24;a=a+4|0;a=d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24;b=b+(a>>1)|0;if((a&1|0)==0){a=g;rd[a&127](b,e);i=f;return}else{a=c[(c[b>>2]|0)+g>>2]|0;rd[a&127](b,e);i=f;return}}function Rj(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e;g=d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24;a=a+4|0;a=d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24;b=b+(a>>1)|0;if((a&1|0)!=0)g=c[(c[b>>2]|0)+g>>2]|0;rd[g&127](f,b);Zb(c[f>>2]|0);a=c[f>>2]|0;zb(a|0);i=e;return a|0}function Sj(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0;f=i;i=i+16|0;g=f;h=d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24;a=a+4|0;a=d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24;b=b+(a>>1)|0;if((a&1|0)!=0)h=c[(c[b>>2]|0)+h>>2]|0;c[g>>2]=e;rd[h&127](b,g);zb(c[g>>2]|0);i=f;return}function Tj(){var b=0,d=0,e=0,f=0,g=0,j=0,k=0;b=i;d=Ts(616)|0;a:do if((d|0)==0){while(1){d=c[6272]|0;c[6272]=d+0;if((d|0)==0)break;yd[d&31]();d=Ts(616)|0;if((d|0)!=0)break a}k=_b(4)|0;c[k>>2]=24928;ed(k|0,24976,117)}while(0);f=d+576|0;c[f+0>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[d+588>>2]=vc()|0;f=d+600|0;c[f>>2]=0;e=d+604|0;c[e>>2]=0;c[d+608>>2]=0;j=d+440|0;c[d+444>>2]=71;c[d+448>>2]=169;c[d+452>>2]=72;c[d+456>>2]=170;c[d+544>>2]=0;c[d+548>>2]=0;c[d+460>>2]=0;c[d+552>>2]=7640;c[d+556>>2]=126;c[d+560>>2]=0;c[d+564>>2]=0;c[d+568>>2]=0;c[d>>2]=j;c[j>>2]=178;c[d+4>>2]=0;j=c[d>>2]|0;g=d+12|0;k=c[g>>2]|0;st(d|0,0,440)|0;c[d>>2]=j;c[g>>2]=k;c[d+16>>2]=0;Ki(d);c[d+8>>2]=0;c[d+24>>2]=0;c[d+84>>2]=0;g=0;while(1){if((g|0)>=4){g=0;break}c[d+(g<<2)+88>>2]=0;c[d+(g<<2)+104>>2]=100;g=g+1|0}while(1){if((g|0)>=4)break;c[d+(g<<2)+120>>2]=0;c[d+(g<<2)+136>>2]=0;g=g+1|0}c[d+380>>2]=8;c[d+384>>2]=8432;c[d+388>>2]=63;c[d+428>>2]=0;h[d+48>>3]=1.0;c[d+20>>2]=100;c[d+28>>2]=0;c[d+32>>2]=0;c[d+36>>2]=3;c[d+40>>2]=2;k=Ts(20)|0;if((k|0)!=0?(c[k+ -4>>2]&3|0)!=0:0){g=k+0|0;j=g+20|0;do{a[g>>0]=0;g=g+1|0}while((g|0)<(j|0))}c[d+24>>2]=k;c[d+12>>2]=d;c[k+8>>2]=179;c[k+12>>2]=98;c[k+16>>2]=180;j=Ts(8192)|0;c[d+612>>2]=j;c[k>>2]=j;c[k+4>>2]=8192;c[d+572>>2]=100;a[d+592>>0]=0;c[d+596>>2]=0;f=c[f>>2]|0;if((c[e>>2]|0)==(f|0)){i=b;return d|0}c[e>>2]=f;i=b;return d|0}function Uj(a){a=a|0;var b=0;b=i;a=pd[a&31]()|0;i=b;return a|0}function Vj(a){a=a|0;return 10416}function Wj(b){b=b|0;var d=0,e=0,f=0;d=i;if((b|0)==0){i=d;return}Us(c[b+24>>2]|0);e=c[b+4>>2]|0;if((e|0)!=0)qd[c[e+40>>2]&255](b);c[b+4>>2]=0;c[b+20>>2]=0;e=c[b+612>>2]|0;if((e|0)!=0)Us(e);e=c[b+600>>2]|0;if((e|0)!=0){f=b+604|0;if((c[f>>2]|0)!=(e|0))c[f>>2]=e;Us(e)}zb(c[b+588>>2]|0);if(!((a[b+576>>0]&1)==0))Us(c[b+584>>2]|0);Us(b);i=d;return}function Xj(){var b=0,d=0,e=0,f=0;b=i;Sb(10416,10424,10560,0,10536,99,10208,0,10208,0,10256,10528,181);cb(10416,1,10520,10512,100,23);d=Ts(8)|0;a:do Iif((d|0)==0){while(1){d=c[6272]|0;c[6272]=d+0;if((d|0)==0)break;yd[d&31]();d=Ts(8)|0;if((d|0)!=0)break a}e=_b(4)|0;c[e>>2]=24928;ed(e|0,24976,117)}while(0);a[d>>0]=77;a[d+1>>0]=0;a[d+2>>0]=0;a[d+3>>0]=0;e=d+4|0;a[e>>0]=0;a[e+1>>0]=0;a[e+2>>0]=0;a[e+3>>0]=0;e=Ts(8)|0;b:do Iif((e|0)==0){while(1){e=c[6272]|0;c[6272]=e+0;if((e|0)==0)break;yd[e&31]();e=Ts(8)|0;if((e|0)!=0)break b}e=_b(4)|0;c[e>>2]=24928;ed(e|0,24976,117)}while(0);a[e>>0]=78;a[e+1>>0]=0;a[e+2>>0]=0;a[e+3>>0]=0;f=e+4|0;a[f>>0]=0;a[f+1>>0]=0;a[f+2>>0]=0;a[f+3>>0]=0;xc(10416,10272,10176,10504,69,d|0,10176,10496,61,e|0);d=Ts(8)|0;c:do Iif((d|0)==0){while(1){d=c[6272]|0;c[6272]=d+0;if((d|0)==0)break;yd[d&31]();d=Ts(8)|0;if((d|0)!=0)break c}f=_b(4)|0;c[f>>2]=24928;ed(f|0,24976,117)}while(0);a[d>>0]=101;a[d+1>>0]=0;a[d+2>>0]=0;a[d+3>>0]=0;e=d+4|0;a[e>>0]=0;a[e+1>>0]=0;a[e+2>>0]=0;a[e+3>>0]=0;e=Ts(8)|0;d:do Iif((e|0)==0){while(1){e=c[6272]|0;c[6272]=e+0;if((e|0)==0)break;yd[e&31]();e=Ts(8)|0;if((e|0)!=0)break d}f=_b(4)|0;c[f>>2]=24928;ed(f|0,24976,117)}while(0);a[e>>0]=79;a[e+1>>0]=0;a[e+2>>0]=0;a[e+3>>0]=0;f=e+4|0;a[f>>0]=0;a[f+1>>0]=0;a[f+2>>0]=0;a[f+3>>0]=0;xc(10416,10288,25920,10488,70,d|0,25920,10480,62,e|0);d=Ts(8)|0;e:do Iif((d|0)==0){while(1){d=c[6272]|0;c[6272]=d+0;if((d|0)==0)break;yd[d&31]();d=Ts(8)|0;if((d|0)!=0)break e}f=_b(4)|0;c[f>>2]=24928;ed(f|0,24976,117)}while(0);a[d>>0]=102;a[d+1>>0]=0;a[d+2>>0]=0;a[d+3>>0]=0;e=d+4|0;a[e>>0]=0;a[e+1>>0]=0;a[e+2>>0]=0;a[e+3>>0]=0;e=Ts(8)|0;f:do Iif((e|0)==0){while(1){e=c[6272]|0;c[6272]=e+0;if((e|0)==0)break;yd[e&31]();e=Ts(8)|0;if((e|0)!=0)break f}f=_b(4)|0;c[f>>2]=24928;ed(f|0,24976,117)}while(0);a[e>>0]=80;a[e+1>>0]=0;a[e+2>>0]=0;a[e+3>>0]=0;f=e+4|0;a[f>>0]=0;a[f+1>>0]=0;a[f+2>>0]=0;a[f+3>>0]=0;xc(10416,10296,25920,10488,70,d|0,25920,10480,62,e|0);d=Ts(8)|0;g:do Iif((d|0)==0){while(1){d=c[6272]|0;c[6272]=d+0;if((d|0)==0)break;yd[d&31]();d=Ts(8)|0;if((d|0)!=0)break g}f=_b(4)|0;c[f>>2]=24928;ed(f|0,24976,117)}while(0);a[d>>0]=103;a[d+1>>0]=0;a[d+2>>0]=0;a[d+3>>0]=0;e=d+4|0;a[e>>0]=0;a[e+1>>0]=0;a[e+2>>0]=0;a[e+3>>0]=0;e=Ts(8)|0;h:do Iif((e|0)==0){while(1){e=c[6272]|0;c[6272]=e+0;if((e|0)==0)break;yd[e&31]();e=Ts(8)|0;if((e|0)!=0)break h}f=_b(4)|0;c[f>>2]=24928;ed(f|0,24976,117)}while(0);a[e>>0]=81;a[e+1>>0]=0;a[e+2>>0]=0;a[e+3>>0]=0;f=e+4|0;a[f>>0]=0;a[f+1>>0]=0;a[f+2>>0]=0;a[f+3>>0]=0;xc(10416,10304,25920,10488,70,d|0,25920,10480,62,e|0);d=Ts(8)|0;i:do Iif((d|0)==0){while(1){d=c[6272]|0;c[6272]=d+0;if((d|0)==0)break;yd[d&31]();d=Ts(8)|0;if((d|0)!=0)break i}f=_b(4)|0;c[f>>2]=24928;ed(f|0,24976,117)}while(0);a[d>>0]=82;a[d+1>>0]=0;a[d+2>>0]=0;a[d+3>>0]=0;e=d+4|0;a[e>>0]=0;a[e+1>>0]=0;a[e+2>>0]=0;a[e+3>>0]=0;e=Ts(8)|0;j:do Iif((e|0)==0){while(1){e=c[6272]|0;c[6272]=e+0;if((e|0)==0)break;yd[e&31]();e=Ts(8)|0;if((e|0)!=0)break j}f=_b(4)|0;c[f>>2]=24928;ed(f|0,24976,117)}while(0);a[e>>0]=83;a[e+1>>0]=0;a[e+2>>0]=0;a[e+3>>0]=0;f=e+4|0;a[f>>0]=0;a[f+1>>0]=0;a[f+2>>0]=0;a[f+3>>0]=0;xc(10416,10312,9976,10472,71,d|0,9976,10464,63,e|0);d=Ts(8)|0;k:do Iif((d|0)==0){while(1){d=c[6272]|0;c[6272]=d+0;if((d|0)==0)break;yd[d&31]();d=Ts(8)|0;if((d|0)!=0)break k}f=_b(4)|0;c[f>>2]=24928;ed(f|0,24976,117)}while(0);a[d>>0]=84;a[d+1>>0]=0;a[d+2>>0]=0;a[d+3>>0]=0;f=d+4|0;a[f>>0]=0;a[f+1>>0]=0;a[f+2>>0]=0;a[f+3>>0]=0;Qc(10416,10328,3,10448,10440,64,d|0,0);d=Ts(8)|0;Eif((d|0)!=0){f=d;a[f>>0]=182;a[f+1>>0]=0;a[f+2>>0]=0;a[f+3>>0]=0;e=f+4|0;a[e>>0]=0;a[e+1>>0]=0;a[e+2>>0]=0;a[e+3>>0]=0;Qc(10416,10336,2,10376,10368,85,f|0,0);i=b;return}while(1){d=c[6272]|0;c[6272]=d+0;if((d|0)==0){e=48;break}yd[d&31]();d=Ts(8)|0;if((d|0)!=0){e=49;break}}if((e|0)==48){f=_b(4)|0;c[f>>2]=24928;ed(f|0,24976,117)}else if((e|0)==49){a[d>>0]=182;a[d+1>>0]=0;a[d+2>>0]=0;a[d+3>>0]=0;f=d+4|0;a[f>>0]=0;a[f+1>>0]=0;a[f+2>>0]=0;a[f+3>>0]=0;Qc(10416,10336,2,10376,10368,85,d|0,0);i=b;return}}function Yj(a){a=a|0;var b=0,d=0,e=0;b=i;d=c[a+4>>2]|0;e=(ot(d|0)|0)+1|0;a=Ts(e)|0;if((a|0)==0){e=0;i=b;return e|0}pt(a|0,d|0,e|0)|0;e=a;i=b;return e|0}function Zj(){var a=0;a=i;Ic(25792,10600);tb(25824,10608,1,1,0);Ub(25840,10616,1,-128,127);Ub(25872,10624,1,-128,127);Ub(25856,10640,1,0,255);Ub(25888,10656,2,-32768,32767);Ub(25904,10664,2,0,65535);Ub(25920,10680,4,-2147483648,2147483647);Ub(25936,10688,4,0,-1);Ub(25944,10704,4,-2147483648,2147483647);Ub(25960,10712,4,0,-1);Yc(25976,10728,4);Yc(25992,10736,8);Ta(9976,10744);Ta(12128,10760);Pc(12040,4,10800);nb(10176,10816);Cc(11968,0,10832);Cc(11928,0,10864);Cc(11888,1,10904);Cc(11848,2,10944);Cc(11808,3,10976);Cc(11768,4,11016);Cc(11728,5,11048);Cc(11688,4,11088);Cc(11648,5,11120);Cc(11928,0,11160);Cc(11888,1,11192);Cc(11848,2,11232);Cc(11808,3,11272);Cc(11768,4,11312);Cc(11728,5,11352);Cc(11608,6,11392);Cc(11568,7,11424);Cc(11528,7,11456);i=a;return}function _j(a){a=a|0;a=i;Il(12240);Il(12416);Nl(12592);Nl(12768);i=a;return}function $j(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;c[b>>2]=14040;g=b+4|0;Tp(g);j=b+8|0;c[j+0>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;c[j+20>>2]=0;c[b>>2]=13224;c[b+32>>2]=d;g=c[g>>2]|0;j=g+4|0;c[j>>2]=(c[j>>2]|0)+1;d=Vp(g,16792)|0;h=c[j>>2]|0;c[j>>2]=h+ -1;Iif((h|0)==0)qd[c[(c[g>>2]|0)+8>>2]&255](g);c[b+36>>2]=d;c[b+40>>2]=e;a[b+44>>0]=(ud[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;i=f;return}function ak(a){a=a|0;var b=0,d=0,e=0;b=i;c[a>>2]=14040;a=c[a+4>>2]|0;e=a+4|0;d=c[e>>2]|0;c[e>>2]=d+ -1;if((d|0)!=0){i=b;return}qd[c[(c[a>>2]|0)+8>>2]&255](a);i=b;return}function bk(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;c[a>>2]=14040;d=c[a+4>>2]|0;f=d+4|0;e=c[f>>2]|0;c[f>>2]=e+ -1;if((e|0)!=0){Us(a);i=b;return}qd[c[(c[d>>2]|0)+8>>2]&255](d);Us(a);i=b;return}function ck(b,d){b=b|0;d=d|0;var e=0;e=i;ud[c[(c[b>>2]|0)+24>>2]&127](b)|0;d=Vp(c[d>>2]|0,16792)|0;c[b+36>>2]=d;a[b+44>>0]=(ud[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;i=e;return}function dk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;b=i;i=i+16|0;g=b+8|0;d=b;e=a+36|0;f=a+40|0;h=g+8|0;j=g;a=a+32|0;while(1){k=c[e>>2]|0;k=Ed[c[(c[k>>2]|0)+20>>2]&63](k,c[f>>2]|0,g,h,d)|0;l=(c[d>>2]|0)-j|0;if((Kb(g|0,1,l|0,c[a>>2]|0)|0)!=(l|0)){e=-1;d=5;break}if((k|0)==2){e=-1;d=5;break}else if((k|0)!=1){d=4;break}}if((d|0)==4){l=((Jc(c[a>>2]|0)|0)!=0)<<31>>31;i=b;return l|0}else if((d|0)==5){i=b;return e|0}return 0}function ek(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;if((a[b+44>>0]|0)!=0){d=Kb(d|0,4,e|0,c[b+32>>2]|0)|0;i=f;return d|0}if((e|0)>0)g=0;else{d=0;i=f;return d|0}while(1){if((Dd[c[(c[b>>2]|0)+52>>2]&127](b,c[d>>2]|0)|0)==-1){e=6;break}g=g+1|0;if((g|0)<(e|0))d=d+4|0;else{e=6;break}}if((e|0)==6){i=f;return g|0}return 0}function fk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=i;i=i+32|0;k=e+16|0;p=e+8|0;j=e+4|0;h=e;f=(d|0)==-1;a:do if(!f){c[p>>2]=d;if((a[b+44>>0]|0)!=0){if((Kb(p|0,4,1,c[b+32>>2]|0)|0)==1)break;else d=-1;i=e;return d|0}c[j>>2]=k;l=p+4|0;n=b+36|0;o=b+40|0;g=k+8|0;m=k;b=b+32|0;while(1){q=c[n>>2]|0;q=zd[c[(c[q>>2]|0)+12>>2]&31](q,c[o>>2]|0,p,l,h,k,g,j)|0;if((c[h>>2]|0)==(p|0)){d=-1;g=12;break}if((q|0)==3){g=7;break}r=(q|0)==1;if(!(q>>>0<2)){d=-1;g=12;break}q=(c[j>>2]|0)-m|0;if((Kb(k|0,1,q|0,c[b>>2]|0)|0)!=(q|0)){d=-1;g=12;break}if(r)p=r?c[h>>2]|0:p;else break a}if((g|0)==7){if((Kb(p|0,1,1,c[b>>2]|0)|0)==1)break;else d=-1;i=e;return d|0}else if((g|0)==12){i=e;return d|0}}while(0);r=f?0:d;i=e;return r|0}function gk(a){a=a|0;var b=0,d=0,e=0;b=i;c[a>>2]=14040;a=c[a+4>>2]|0;e=a+4|0;d=c[e>>2]|0;c[e>>2]=d+ -1;if((d|0)!=0){i=b;return}qd[c[(c[a>>2]|0)+8>>2]&255](a);i=b;return}function hk(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;c[a>>2]=14040;d=c[a+4>>2]|0;f=d+4|0;e=c[f>>2]|0;c[f>>2]=e+ -1;if((e|0)!=0){Us(a);i=b;return}qd[c[(c[d>>2]|0)+8>>2]&255](d);Us(a);i=b;return}function ik(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;g=Vp(c[d>>2]|0,16792)|0;f=b+36|0;c[f>>2]=g;d=b+44|0;c[d>>2]=ud[c[(c[g>>2]|0)+24>>2]&127](g)|0;f=c[f>>2]|0;a[b+53>>0]=(ud[c[(c[f>>2]|0)+28>>2]&127](f)|0)&1;if((c[d>>2]|0)>8)hp(13432);else{i=e;return}}function jk(a){a=a|0;var b=0;b=i;a=mk(a,0)|0;i=b;return a|0}function kk(a){a=a|0;var b=0;b=i;a=mk(a,1)|0;i=b;return a|0}function lk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;e=i;i=i+32|0;j=e+16|0;f=e+8|0;l=e+4|0;k=e;g=b+52|0;m=(a[g>>0]|0)!=0;if((d|0)==-1){if(m){m=-1;i=e;return m|0}m=c[b+48>>2]|0;a[g>>0]=(m|0)!=-1&1;i=e;return m|0}h=b+48|0;a:do if(m){c[l>>2]=c[h>>2];m=c[b+36>>2]|0;k=zd[c[(c[m>>2]|0)+12>>2]&31](m,c[b+40>>2]|0,l,l+4|0,k,j,j+8|0,f)|0;if((k|0)==3){a[j>>0]=c[h>>2];c[f>>2]=j+1}else if((k|0)==1|(k|0)==2){m=-1;i=e;return m|0}b=b+32|0;while(1){k=c[f>>2]|0;if(!(k>>>0>j>>>0))break a;m=k+ -1|0;c[f>>2]=m;if((Gc(a[m>>0]|0,c[b>>2]|0)|0)==-1){f=-1;break}}i=e;return f|0}while(0);c[h>>2]=d;a[g>>0]=1;m=d;i=e;return m|0}function mk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;e=i;i=i+32|0;g=e+16|0;j=e+8|0;m=e+4|0;l=e;n=b+52|0;if((a[n>>0]|0)!=0){f=b+48|0;g=c[f>>2]|0;if(!d){v=g;i=e;return v|0}c[f>>2]=-1;a[n>>0]=0;v=g;i=e;return v|0}s=c[b+44>>2]|0;s=(s|0)>1?s:1;a:do if((s|0)>0){p=b+32|0;n=0;while(1){o=_c(c[p>>2]|0)|0;if((o|0)==-1){h=-1;break}a[g+n>>0]=o;n=n+1|0;if((n|0)>=(s|0))break a}i=e;return h|0}while(0);b:do if((a[b+53>>0]|0)==0){p=b+40|0;q=b+36|0;n=j+4|0;o=b+32|0;while(1){v=c[p>>2]|0;u=v;t=c[u>>2]|0;u=c[u+4>>2]|0;w=c[q>>2]|0;r=g+s|0;v=zd[c[(c[w>>2]|0)+16>>2]&31](w,v,g,r,m,j,n,l)|0;if((v|0)==2){h=-1;f=22;break}else if((v|0)==3){f=14;break}else if((v|0)!=1){k=s;break b}w=c[p>>2]|0;c[w>>2]=t;c[w+4>>2]=u;if((s|0)==8){h=-1;f=22;break}t=_c(c[o>>2]|0)|0;if((t|0)==-1){h=-1;f=22;break}a[r>>0]=t;s=s+1|0}if((f|0)==14){c[j>>2]=a[g>>0];k=s;break}else if((f|0)==22){i=e;return h|0}}else{c[j>>2]=a[g>>0];k=s}while(0);if(d){w=c[j>>2]|0;c[b+48>>2]=w;i=e;return w|0}d=b+32|0;while(1){if((k|0)<=0)break;k=k+ -1|0;if((Gc(a[g+k>>0]|0,c[d>>2]|0)|0)==-1){h=-1;f=22;break}}if((f|0)==22){i=e;return h|0}w=c[j>>2]|0;i=e;return w|0}function nk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;c[b>>2]=13976;g=b+4|0;Tp(g);j=b+8|0;c[j+0>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;c[j+20>>2]=0;c[b>>2]=13480;c[b+32>>2]=d;g=c[g>>2]|0;j=g+4|0;c[j>>2]=(c[j>>2]|0)+1;d=Vp(g,16784)|0;h=c[j>>2]|0;c[j>>2]=h+ -1;Iif((h|0)==0)qd[c[(c[g>>2]|0)+8>>2]&255](g);c[b+36>>2]=d;c[b+40>>2]=e;a[b+44>>0]=(ud[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;i=f;return}function ok(a){a=a|0;var b=0,d=0,e=0;b=i;c[a>>2]=13976;a=c[a+4>>2]|0;e=a+4|0;d=c[e>>2]|0;c[e>>2]=d+ -1;if((d|0)!=0){i=b;return}qd[c[(c[a>>2]|0)+8>>2]&255](a);i=b;return}function pk(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;c[a>>2]=13976;d=c[a+4>>2]|0;f=d+4|0;e=c[f>>2]|0;c[f>>2]=e+ -1;if((e|0)!=0){Us(a);i=b;return}qd[c[(c[d>>2]|0)+8>>2]&255](d);Us(a);i=b;return}function qk(b,d){b=b|0;d=d|0;var e=0;e=i;ud[c[(c[b>>2]|0)+24>>2]&127](b)|0;d=Vp(c[d>>2]|0,16784)|0;c[b+36>>2]=d;a[b+44>>0]=(ud[c[(c[d>>2]|0)+28>>2]&127](d)|0)&1;i=e;return}function rk(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;b=i;i=i+16|0;g=b+8|0;d=b;e=a+36|0;f=a+40|0;h=g+8|0;j=g;a=a+32|0;while(1){k=c[e>>2]|0;k=Ed[c[(c[k>>2]|0)+20>>2]&63](k,c[f>>2]|0,g,h,d)|0;l=(c[d>>2]|0)-j|0;if((Kb(g|0,1,l|0,c[a>>2]|0)|0)!=(l|0)){e=-1;d=5;break}if((k|0)==2){e=-1;d=5;break}else if((k|0)!=1){d=4;break}}if((d|0)==4){l=((Jc(c[a>>2]|0)|0)!=0)<<31>>31;i=b;return l|0}else if((d|0)==5){i=b;return e|0}return 0}function sk(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0;g=i;if((a[b+44>>0]|0)!=0){e=Kb(e|0,1,f|0,c[b+32>>2]|0)|0;i=g;return e|0}if((f|0)>0)h=0;else{e=0;i=g;return e|0}while(1){if((Dd[c[(c[b>>2]|0)+52>>2]&127](b,d[e>>0]|0)|0)==-1){f=6;break}h=h+1|0;if((h|0)<(f|0))e=e+1|0;else{f=6;break}}if((f|0)==6){i=g;return h|0}return 0}function tk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;e=i;i=i+32|0;k=e+16|0;p=e+8|0;j=e+4|0;h=e;f=(d|0)==-1;a:do if(!f){a[p>>0]=d;if((a[b+44>>0]|0)!=0){if((Kb(p|0,1,1,c[b+32>>2]|0)|0)==1)break;else d=-1;i=e;return d|0}c[j>>2]=k;l=p+1|0;n=b+36|0;o=b+40|0;g=k+8|0;m=k;b=b+32|0;while(1){q=c[n>>2]|0;q=zd[c[(c[q>>2]|0)+12>>2]&31](q,c[o>>2]|0,p,l,h,k,g,j)|0;if((c[h>>2]|0)==(p|0)){d=-1;g=12;break}if((q|0)==3){g=7;break}r=(q|0)==1;if(!(q>>>0<2)){d=-1;g=12;break}q=(c[j>>2]|0)-m|0;if((Kb(k|0,1,q|0,c[b>>2]|0)|0)!=(q|0)){d=-1;g=12;break}if(r)p=r?c[h>>2]|0:p;else break a}if((g|0)==7){if((Kb(p|0,1,1,c[b>>2]|0)|0)==1)break;else d=-1;i=e;return d|0}else if((g|0)==12){i=e;return d|0}}while(0);r=f?0:d;i=e;return r|0}function uk(a){a=a|0;var b=0,d=0,e=0;b=i;c[a>>2]=13976;a=c[a+4>>2]|0;e=a+4|0;d=c[e>>2]|0;c[e>>2]=d+ -1;if((d|0)!=0){i=b;return}qd[c[(c[a>>2]|0)+8>>2]&255](a);i=b;return}function vk(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;c[a>>2]=13976;d=c[a+4>>2]|0;f=d+4|0;e=c[f>>2]|0;c[f>>2]=e+ -1;if((e|0)!=0){Us(a);i=b;return}qd[c[(c[d>>2]|0)+8>>2]&255](d);Us(a);i=b;return}function wk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0;e=i;g=Vp(c[d>>2]|0,16784)|0;f=b+36|0;c[f>>2]=g;d=b+44|0;c[d>>2]=ud[c[(c[g>>2]|0)+24>>2]&127](g)|0;f=c[f>>2]|0;a[b+53>>0]=(ud[c[(c[f>>2]|0)+28>>2]&127](f)|0)&1;if((c[d>>2]|0)>8)hp(13432);else{i=e;return}}function xk(a){a=a|0;var b=0;b=i;a=Ak(a,0)|0;i=b;return a|0}function yk(a){a=a|0;var b=0;b=i;a=Ak(a,1)|0;i=b;return a|0}function zk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;e=i;i=i+32|0;j=e+16|0;f=e+4|0;l=e+8|0;k=e;g=b+52|0;m=(a[g>>0]|0)!=0;if((d|0)==-1){if(m){m=-1;i=e;return m|0}m=c[b+48>>2]|0;a[g>>0]=(m|0)!=-1&1;i=e;return m|0}h=b+48|0;a:do if(m){a[l>>0]=c[h>>2];m=c[b+36>>2]|0;k=zd[c[(c[m>>2]|0)+12>>2]&31](m,c[b+40>>2]|0,l,l+1|0,k,j,j+8|0,f)|0;if((k|0)==1|(k|0)==2){m=-1;i=e;return m|0}else if((k|0)==3){a[j>>0]=c[h>>2];c[f>>2]=j+1}b=b+32|0;while(1){k=c[f>>2]|0;if(!(k>>>0>j>>>0))break a;m=k+ -1|0;c[f>>2]=m;if((Gc(a[m>>0]|0,c[b>>2]|0)|0)==-1){f=-1;break}}i=e;return f|0}while(0);c[h>>2]=d;a[g>>0]=1;m=d;i=e;return m|0}function Ak(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;f=i;i=i+32|0;h=f+16|0;j=f+8|0;n=f+4|0;m=f;o=b+52|0;if((a[o>>0]|0)!=0){g=b+48|0;h=c[g>>2]|0;if(!e){w=h;i=f;return w|0}c[g>>2]=-1;a[o>>0]=0;w=h;i=f;return w|0}p=c[b+44>>2]|0;p=(p|0)>1?p:1;a:do if((p|0)>0){r=b+32|0;o=0;while(1){q=_c(c[r>>2]|0)|0;if((q|0)==-1){k=-1;break}a[h+o>>0]=q;o=o+1|0;if((o|0)>=(p|0))break a}i=f;return k|0}while(0);b:do if((a[b+53>>0]|0)==0){r=b+40|0;s=b+36|0;o=j+1|0;q=b+32|0;while(1){w=c[r>>2]|0;v=w;u=c[v>>2]|0;v=c[v+4>>2]|0;x=c[s>>2]|0;t=h+p|0;w=zd[c[(c[x>>2]|0)+16>>2]&31](x,w,h,t,n,j,o,m)|0;if((w|0)==3){m=14;break}else if((w|0)==2){k=-1;m=23;break}else if((w|0)!=1){l=p;break b}x=c[r>>2]|0;c[x>>2]=u;c[x+4>>2]=v;if((p|0)==8){k=-1;m=23;break}u=_c(c[q>>2]|0)|0;if((u|0)==-1){k=-1;m=23;break}a[t>>0]=u;p=p+1|0}if((m|0)==14){a[j>>0]=a[h>>0]|0;l=p;break}else if((m|0)==23){i=f;return k|0}}else{a[j>>0]=a[h>>0]|0;l=p}while(0);do if(!e){e=b+32|0;while(1){if((l|0)<=0){m=21;break}l=l+ -1|0;if((Gc(d[h+l>>0]|0,c[e>>2]|0)|0)==-1){k=-1;m=23;break}}if((m|0)==21){g=a[j>>0]|0;break}else if((m|0)==23){i=f;return k|0}}else{g=a[j>>0]|0;c[b+48>>2]=g&255}while(0);x=g&255;i=f;return x|0}function Bk(){var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;d=c[q>>2]|0;c[3216]=13976;Tp(12868|0);c[3218]=0;c[3219]=0;c[3220]=0;c[3221]=0;c[3222]=0;c[3223]=0;c[3216]=13592;c[3224]=d;c[3226]=12920;c[3228]=-1;a[12916]=0;e=c[3217]|0;f=e+4|0;c[f>>2]=(c[f>>2]|0)+1;h=Up(16784)|0;g=c[e+8>>2]|0;Iif(!((c[e+12>>2]|0)-g>>2>>>0>h>>>0)){j=_b(4)|0;c[j>>2]=25312;ed(j|0,25384,124)}g=c[g+(h<<2)>>2]|0;Iif((g|0)==0){j=_b(4)|0;c[j>>2]=25312;ed(j|0,25384,124)}c[3225]=g;c[3227]=ud[c[(c[g>>2]|0)+24>>2]&127](g)|0;j=c[3225]|0;a[12917]=(ud[c[(c[j>>2]|0)+28>>2]&127](j)|0)&1;Iif((c[3227]|0)>8)hp(13432);j=c[f>>2]|0;c[f>>2]=j+ -1;Iif((j|0)==0)qd[c[(c[e>>2]|0)+8>>2]&255](e);c[3038]=14108;c[3040]=14128;c[3039]=0;c[3046]=12864;c[3044]=0;c[3045]=0;c[3041]=4098;c[3043]=0;c[3042]=6;h=12192|0;g=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(g|0));Tp(12188|0);c[3058]=0;c[3059]=-1;e=c[r>>2]|0;nk(12968,e,12928|0);c[3060]=14188;c[3061]=14208;c[3067]=12968;c[3065]=0;c[3066]=0;c[3062]=4098;c[3064]=0;c[3063]=6;h=12276|0;g=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(g|0));Tp(12272|0);c[3079]=0;c[3080]=-1;f=c[p>>2]|0;nk(13016,f,12936|0);c[3082]=14188;c[3083]=14208;c[3089]=13016;c[3087]=0;c[3088]=0;c[3084]=4098;c[3086]=0;c[3085]=6;h=12364|0;g=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(g|0));Tp(12360|0);c[3101]=0;c[3102]=-1;h=c[(c[(c[3082]|0)+ -12>>2]|0)+12352>>2]|0;c[3104]=14188;c[3105]=14208;c[3111]=h;c[3109]=(h|0)==0&1;c[3110]=0;c[3106]=4098;c[3108]=0;c[3107]=6;h=12452|0;g=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(g|0));Tp(12448|0);c[3123]=0;c[3124]=-1;c[(c[(c[3038]|0)+ -12>>2]|0)+12224>>2]=12240;g=(c[(c[3082]|0)+ -12>>2]|0)+12332|0;c[g>>2]=c[g>>2]|8192;c[(c[(c[3082]|0)+ -12>>2]|0)+12400>>2]=12240;c[3266]=14040;Tp(13068|0);c[3268]=0;c[3269]=0;c[3270]=0;c[3271]=0;c[3272]=0;c[3273]=0;c[3266]=13336;c[3274]=d;c[3276]=12944;c[3278]=-1;a[13116]=0;d=c[3267]|0;g=d+4|0;c[g>>2]=(c[g>>2]|0)+1;h=Up(16792)|0;j=c[d+8>>2]|0;Iif(!((c[d+12>>2]|0)-j>>2>>>0>h>>>0)){j=_b(4)|0;c[j>>2]=25312;ed(j|0,25384,124)}h=c[j+(h<<2)>>2]|0;Iif((h|0)==0){j=_b(4)|0;c[j>>2]=25312;ed(j|0,25384,124)}c[3275]=h;c[3277]=ud[c[(c[h>>2]|0)+24>>2]&127](h)|0;j=c[3275]|0;a[13117]=(ud[c[(c[j>>2]|0)+28>>2]&127](j)|0)&1;Iif((c[3277]|0)>8)hp(13432);j=c[g>>2]|0;c[g>>2]=j+ -1;Iif((j|0)==0)qd[c[(c[d>>2]|0)+8>>2]&255](d);c[3126]=14148;c[3128]=14168;c[3127]=0;c[3134]=13064;c[3132]=0;c[3133]=0;c[3129]=4098;c[3131]=0;c[3130]=6;h=12544|0;g=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(g|0));Tp(12540|0);c[3146]=0;c[3147]=-1;$j(13120,e,12952|0);c[3148]=14228;c[3149]=14248;c[3155]=13120;c[3153]=0;c[3154]=0;c[3150]=4098;c[3152]=0;c[3151]=6;h=12628|0;g=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(g|0));Tp(12624|0);c[3167]=0;c[3168]=-1;$j(13168,f,12960|0);c[3170]=14228;c[3171]=14248;c[3177]=13168;c[3175]=0;c[3176]=0;c[3172]=4098;c[3174]=0;c[3173]=6;h=12716|0;g=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(g|0));Tp(12712|0);c[3189]=0;c[3190]=-1;h=c[(c[(c[3170]|0)+ -12>>2]|0)+12704>>2]|0;c[3192]=14228;c[3193]=14248;c[3199]=h;c[3197]=(h|0)==0&1;c[3198]=0;c[3194]=4098;c[3196]=0;c[3195]=6;h=12804|0;g=h+40|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(g|0));Tp(12800|0);c[3211]=0;c[3212]=-1;c[(c[(c[3126]|0)+ -12>>2]|0)+12576>>2]=12592;j=(c[(c[3170]|0)+ -12>>2]|0)+12684|0;c[j>>2]=c[j>>2]|8192;c[(c[(c[3170]|0)+ -12>>2]|0)+12752>>2]=12592;eb(183,12856,o|0)|0;i=b;return}function Ck(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=d;c[a+4>>2]=b;return}function Dk(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;wd[c[(c[a>>2]|0)+12>>2]&127](f,a,b);if((c[f+4>>2]|0)!=(c[d+4>>2]|0)){a=0;i=e;return a|0}a=(c[f>>2]|0)==(c[d>>2]|0);i=e;return a|0}function Ek(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;e=i;if((c[b+4>>2]|0)!=(a|0)){a=0;i=e;return a|0}a=(c[b>>2]|0)==(d|0);i=e;return a|0}function Fk(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;c[a>>2]=25152;d=a+4|0;f=(c[d>>2]|0)+ -4|0;e=c[f>>2]|0;c[f>>2]=e+ -1;if((e+ -1|0)>=0){Us(a);i=b;return}Us((c[d>>2]|0)+ -12|0);Us(a);i=b;return}function Gk(a){a=a|0;var b=0,d=0,e=0;b=i;c[a>>2]=25152;a=a+4|0;e=(c[a>>2]|0)+ -4|0;d=c[e>>2]|0;c[e>>2]=d+ -1;if((d+ -1|0)>=0){i=b;return}Us((c[a>>2]|0)+ -12|0);i=b;return}function Hk(){var b=0,d=0,e=0,f=0;d=_b(8)|0;c[d>>2]=25128;e=bs(25)|0;c[e+4>>2]=12;c[e>>2]=12;f=e+12|0;c[d+4>>2]=f;c[e+8>>2]=0;f=f+0|0;e=13952|0;b=f+13|0;do{a[f>>0]=a[e>>0]|0;f=f+1|0;e=e+1|0}while((f|0)<(b|0));c[d>>2]=25208;ed(d|0,25248,119)}function Ik(b,d){b=b|0;d=d|0;var e=0;e=i;if((a[d>>0]&1)==0){c[b+0>>2]=c[d+0>>2];c[b+4>>2]=c[d+4>>2];c[b+8>>2]=c[d+8>>2];i=e;return}else{Jk(b,c[d+8>>2]|0,c[d+4>>2]|0);i=e;return}}function Jk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;if(e>>>0>4294967279)Hk();if(e>>>0<11){a[b>>0]=e<<1;b=b+1|0;pt(b|0,d|0,e|0)|0;d=b+e|0;a[d>>0]=0;i=f;return}else{h=e+16&-16;g=bs(h)|0;c[b+8>>2]=g;c[b>>2]=h|1;c[b+4>>2]=e;b=g;pt(b|0,d|0,e|0)|0;d=b+e|0;a[d>>0]=0;i=f;return}}function Kk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;if(d>>>0>4294967279)Hk();if(d>>>0<11){a[b>>0]=d<<1;b=b+1|0;st(b|0,e|0,d|0)|0;e=b+d|0;a[e>>0]=0;i=f;return}else{h=d+16&-16;g=bs(h)|0;c[b+8>>2]=g;c[b>>2]=h|1;c[b+4>>2]=d;b=g;st(b|0,e|0,d|0)|0;e=b+d|0;a[e>>0]=0;i=f;return}}function Lk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;h=d;g=e-h|0;if(g>>>0>4294967279)Hk();if(g>>>0<11){a[b>>0]=g<<1;g=b+1|0}else{k=g+16&-16;j=bs(k)|0;c[b+8>>2]=j;c[b>>2]=k|1;c[b+4>>2]=g;g=j}if((d|0)==(e|0)){k=g;a[k>>0]=0;i=f;return}h=e+(0-h)|0;b=g;while(1){a[b>>0]=a[d>>0]|0;d=d+1|0;if((d|0)==(e|0))break;else b=b+1|0}k=g+h|0;a[k>>0]=0;i=f;return}function Mk(b){b=b|0;var d=0;d=i;if((a[b>>0]&1)==0){i=d;return}Us(c[b+8>>2]|0);i=d;return}function Nk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;f=i;e=ot(d|0)|0;h=a[b>>0]|0;if((h&1)==0)g=10;else{g=c[b>>2]|0;h=g&255;g=(g&-2)+ -1|0}j=(h&1)==0;if(g>>>0<e>>>0){if(j)h=(h&255)>>>1;else h=c[b+4>>2]|0;Sk(b,g,e-g|0,h,0,h,e,d);i=f;return}if(j)g=b+1|0;else g=c[b+8>>2]|0;rt(g|0,d|0,e|0)|0;a[g+e>>0]=0;if((a[b>>0]&1)==0){a[b>>0]=e<<1;i=f;return}else{c[b+4>>2]=e;i=f;return}}function Ok(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;g=a[b>>0]|0;j=(g&1)==0;if(j)h=(g&255)>>>1;else h=c[b+4>>2]|0;if(!(h>>>0<d>>>0))if(j){a[b+d+1>>0]=0;a[b>>0]=d<<1;i=e;return}else{a[(c[b+8>>2]|0)+d>>0]=0;c[b+4>>2]=d;i=e;return}f=d-h|0;if((h|0)==(d|0)){i=e;return}if(j){h=g;d=10}else{d=c[b>>2]|0;h=d&255;d=(d&-2)+ -1|0}if((h&1)==0)g=(h&255)>>>1;else g=c[b+4>>2]|0;if((d-g|0)>>>0<f>>>0){Tk(b,d,f-d+g|0,g,g,0);h=a[b>>0]|0}if((h&1)==0)d=b+1|0;else d=c[b+8>>2]|0;st(d+g|0,0,f|0)|0;f=g+f|0;if((a[b>>0]&1)==0)a[b>>0]=f<<1;else c[b+4>>2]=f;a[d+f>>0]=0;i=e;return}function Pk(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;g=a[b>>0]|0;if((g&1)==0)k=10;else{k=c[b>>2]|0;g=k&255;k=(k&-2)+ -1|0}h=(g&1)==0;if(h)e=(g&255)>>>1;else e=c[b+4>>2]|0;if(e>>>0<11)f=10;else f=(e+16&-16)+ -1|0;if((f|0)==(k|0)){i=d;return}do if((f|0)==10){k=b+1|0;j=c[b+8>>2]|0;if(h){pt(k|0,j|0,((g&255)>>>1)+1|0)|0;Us(j);k=20}else{g=k;h=0;k=18}}else{j=f+1|0;if(f>>>0>k>>>0)j=bs(j)|0;else j=bs(j)|0;if(h){pt(j|0,b+1|0,((g&255)>>>1)+1|0)|0;g=j;k=19;break}else{g=j;h=1;j=c[b+8>>2]|0;k=18;break}}while(0);if((k|0)==18){pt(g|0,j|0,(c[b+4>>2]|0)+1|0)|0;Us(j);if(h)k=19;else k=20}if((k|0)==19){c[b>>2]=f+1|1;c[b+4>>2]=e;c[b+8>>2]=g;i=d;return}else if((k|0)==20){a[b>>0]=e<<1;i=d;return}}function Qk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;g=a[b>>0]|0;f=(g&1)!=0;if(f){h=(c[b>>2]&-2)+ -1|0;g=c[b+4>>2]|0}else{h=10;g=(g&255)>>>1}if((g|0)==(h|0)){Tk(b,h,1,h,h,0);if((a[b>>0]&1)==0)f=7;else f=8}else if(f)f=8;else f=7;if((f|0)==7){a[b>>0]=(g<<1)+2;h=g+1|0;f=b+1|0;g=f+g|0;a[g>>0]=d;h=f+h|0;a[h>>0]=0;i=e;return}else if((f|0)==8){f=c[b+8>>2]|0;h=g+1|0;c[b+4>>2]=h;g=f+g|0;a[g>>0]=d;h=f+h|0;a[h>>0]=0;i=e;return}}function Rk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0;f=i;g=a[b>>0]|0;if((g&1)==0)h=10;else{h=c[b>>2]|0;g=h&255;h=(h&-2)+ -1|0}j=(g&1)==0;if(j)g=(g&255)>>>1;else g=c[b+4>>2]|0;if((h-g|0)>>>0<e>>>0){Sk(b,h,e-h+g|0,g,g,0,e,d);i=f;return}if((e|0)==0){i=f;return}if(j)h=b+1|0;else h=c[b+8>>2]|0;pt(h+g|0,d|0,e|0)|0;e=g+e|0;if((a[b>>0]&1)==0)a[b>>0]=e<<1;else c[b+4>>2]=e;a[h+e>>0]=0;i=f;return}function Sk(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0;l=i;if((-18-d|0)>>>0<e>>>0)Hk();if((a[b>>0]&1)==0)m=b+1|0;else m=c[b+8>>2]|0;if(d>>>0<2147483623){e=e+d|0;n=d<<1;e=e>>>0<n>>>0?n:e;if(e>>>0<11)e=11;else e=e+16&-16}else e=-17;n=bs(e)|0;if((g|0)!=0)pt(n|0,m|0,g|0)|0;if((j|0)!=0)pt(n+g|0,k|0,j|0)|0;k=f-h|0;if((k|0)!=(g|0))pt(n+(j+g)|0,m+(h+g)|0,k-g|0)|0;if((d|0)==10){f=b+8|0;c[f>>2]=n;e=e|1;c[b>>2]=e;e=k+j|0;f=b+4|0;c[f>>2]=e;n=n+e|0;a[n>>0]=0;i=l;return}Us(m);f=b+8|0;c[f>>2]=n;e=e|1;c[b>>2]=e;e=k+j|0;f=b+4|0;c[f>>2]=e;n=n+e|0;a[n>>0]=0;i=l;return}function Tk(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0;j=i;if((-17-d|0)>>>0<e>>>0)Hk();if((a[b>>0]&1)==0)k=b+1|0;else k=c[b+8>>2]|0;if(d>>>0<2147483623){e=e+d|0;l=d<<1;e=e>>>0<l>>>0?l:e;if(e>>>0<11)l=11;else l=e+16&-16}else l=-17;e=bs(l)|0;if((g|0)!=0)pt(e|0,k|0,g|0)|0;if((f|0)!=(g|0))pt(e+(h+g)|0,k+g|0,f-g|0)|0;if((d|0)==10){k=b+8|0;c[k>>2]=e;l=l|1;c[b>>2]=l;i=j;return}Us(k);k=b+8|0;c[k>>2]=e;l=l|1;c[b>>2]=l;i=j;return}function Uk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;if(e>>>0>1073741807)Hk();if(e>>>0<2){a[b>>0]=e<<1;b=b+4|0}else{g=e+4&-4;h=bs(g<<2)|0;c[b+8>>2]=h;c[b>>2]=g|1;c[b+4>>2]=e;b=h}if((e|0)==0){h=b+(e<<2)|0;c[h>>2]=0;i=f;return}else{g=b;h=e}while(1){h=h+ -1|0;c[g>>2]=c[d>>2];if((h|0)==0)break;else{g=g+4|0;d=d+4|0}}h=b+(e<<2)|0;c[h>>2]=0;i=f;return}function Vk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;if(d>>>0>1073741807)Hk();if(d>>>0<2){a[b>>0]=d<<1;b=b+4|0}else{g=d+4&-4;h=bs(g<<2)|0;c[b+8>>2]=h;c[b>>2]=g|1;c[b+4>>2]=d;b=h}if((d|0)==0){h=b+(d<<2)|0;c[h>>2]=0;i=f;return}else{g=b;h=d}while(1){h=h+ -1|0;c[g>>2]=e;if((h|0)==0)break;else g=g+4|0}h=b+(d<<2)|0;c[h>>2]=0;i=f;return}function Wk(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;g=d;h=e-g|0;j=h>>2;if(j>>>0>1073741807)Hk();if(j>>>0<2){a[b>>0]=h>>>1;h=b+4|0}else{k=j+4&-4;h=bs(k<<2)|0;c[b+8>>2]=h;c[b>>2]=k|1;c[b+4>>2]=j}if((d|0)==(e|0)){k=h;c[k>>2]=0;i=f;return}g=((e+ -4+(0-g)|0)>>>2)+1|0;j=h;while(1){c[j>>2]=c[d>>2];d=d+4|0;if((d|0)==(e|0))break;else j=j+4|0}k=h+(g<<2)|0;c[k>>2]=0;i=f;return}function Xk(b){b=b|0;var d=0;d=i;if((a[b>>0]&1)==0){i=d;return}Us(c[b+8>>2]|0);i=d;return}function Yk(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;e=i;f=d;while(1)if((c[f>>2]|0)==0)break;else f=f+4|0;j=d;g=f-j|0;f=g>>2;k=a[b>>0]|0;if((k&1)==0)h=1;else{h=c[b>>2]|0;k=h&255;h=(h&-2)+ -1|0}if(!(h>>>0<f>>>0)){if((k&1)==0)h=b+4|0;else h=c[b+8>>2]|0;k=(f|0)==0;if(h-j>>2>>>0<f>>>0){if(!k){j=f;do{j=j+ -1|0;c[h+(j<<2)>>2]=c[d+(j<<2)>>2]}while((j|0)!=0)}}else if(!k){j=h;k=f;while(1){k=k+ -1|0;c[j>>2]=c[d>>2];if((k|0)==0)break;else{j=j+4|0;d=d+4|0}}}c[h+(f<<2)>>2]=0;if((a[b>>0]&1)==0){a[b>>0]=g>>>1;i=e;return}else{c[b+4>>2]=f;i=e;return}}if((1073741806-h|0)>>>0<(f-h|0)>>>0)Hk();if((k&1)==0)g=b+4|0;else g=c[b+8>>2]|0;if(h>>>0<536870887){j=h<<1;j=f>>>0<j>>>0?j:f;if(j>>>0<2)m=2;else m=j+4&-4}else m=1073741807;l=bs(m<<2)|0;if((f|0)!=0){k=l;j=f;while(1){j=j+ -1|0;c[k>>2]=c[d>>2];if((j|0)==0)break;else{k=k+4|0;d=d+4|0}}}if((h|0)!=1)Us(g);c[b+8>>2]=l;c[b>>2]=m|1;c[b+4>>2]=f;c[l+(f<<2)>>2]=0;i=e;return}function Zk(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;d=i;h=a[b>>0]|0;if((h&1)==0)k=1;else{k=c[b>>2]|0;h=k&255;k=(k&-2)+ -1|0}j=(h&1)==0;if(j)e=(h&255)>>>1;else e=c[b+4>>2]|0;if(e>>>0<2)f=1;else f=(e+4&-4)+ -1|0;if((f|0)==(k|0)){i=d;return}do if((f|0)==1){g=b+4|0;l=c[b+8>>2]|0;if(j){j=0;m=1;k=18}else{j=0;m=1;k=17}}else{g=(f<<2)+4|0;if(f>>>0>k>>>0)g=bs(g)|0;else g=bs(g)|0;if(j){j=1;l=b+4|0;m=0;k=18;break}else{j=1;l=c[b+8>>2]|0;m=1;k=17;break}}while(0);if((k|0)==17)h=c[b+4>>2]|0;else if((k|0)==18)h=(h&255)>>>1;k=h+1|0;if((k|0)!=0){h=g;n=l;while(1){k=k+ -1|0;c[h>>2]=c[n>>2];if((k|0)==0)break;else{h=h+4|0;n=n+4|0}}}if(m)Us(l);if(j){c[b>>2]=f+1|1;c[b+4>>2]=e;c[b+8>>2]=g;i=d;return}else{a[b>>0]=e<<1;i=d;return}}function _k(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;g=a[b>>0]|0;f=(g&1)!=0;if(f){h=(c[b>>2]&-2)+ -1|0;g=c[b+4>>2]|0}else{h=1;g=(g&255)>>>1}if((g|0)==(h|0)){$k(b,h,1,h,h,0,0);if((a[b>>0]&1)==0)f=7;else f=8}else if(f)f=8;else f=7;if((f|0)==7){a[b>>0]=(g<<1)+2;h=g+1|0;f=b+4|0;g=f+(g<<2)|0;c[g>>2]=d;h=f+(h<<2)|0;c[h>>2]=0;i=e;return}else if((f|0)==8){f=c[b+8>>2]|0;h=g+1|0;c[b+4>>2]=h;g=f+(g<<2)|0;c[g>>2]=d;h=f+(h<<2)|0;c[h>>2]=0;i=e;return}}function $k(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0;l=i;if((1073741807-d|0)>>>0<e>>>0)Hk();if((a[b>>0]&1)==0)k=b+4|0;else k=c[b+8>>2]|0;if(d>>>0<536870887){e=e+d|0;p=d<<1;e=e>>>0<p>>>0?p:e;if(e>>>0<2)m=2;else m=e+4&-4}else m=1073741807;e=bs(m<<2)|0;if((g|0)!=0){n=e;p=g;o=k;while(1){p=p+ -1|0;c[n>>2]=c[o>>2];if((p|0)==0)break;else{n=n+4|0;o=o+4|0}}}f=f-h|0;if((f|0)!=(g|0)){j=e+(j+g<<2)|0;f=f-g|0;h=k+(h+g<<2)|0;while(1){f=f+ -1|0;c[j>>2]=c[h>>2];if((f|0)==0)break;else{j=j+4|0;h=h+4|0}}}if((d|0)==1){p=b+8|0;c[p>>2]=e;p=m|1;c[b>>2]=p;i=l;return}Us(k);p=b+8|0;c[p>>2]=e;p=m|1;c[b>>2]=p;i=l;return}function al(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;j=i;i=i+48|0;g=j+24|0;f=j+12|0;e=j;h=(c[b+24>>2]|0)==0;if(h)c[b+16>>2]=d|1;else c[b+16>>2]=d;if(((h&1|d)&c[b+20>>2]|0)==0){i=j;return}d=_b(16)|0;if((a[14320]|0)==0?(Ha(14320)|0)!=0:0){c[3578]=15016;ad(14320)}Jk(e,14368,15);h=a[e>>0]|0;if((h&1)==0)h=(h&255)>>>1;else h=c[e+4>>2]|0;if((h|0)!=0)Rk(e,13728,2);wd[c[(c[14312>>2]|0)+24>>2]&127](g,14312,1);h=a[g>>0]|0;if((h&1)==0){h=(h&255)>>>1;b=g+1|0}else{h=c[g+4>>2]|0;b=c[g+8>>2]|0}Rk(e,b,h);if(!((a[g>>0]&1)==0))Us(c[g+8>>2]|0);c[f+0>>2]=c[e+0>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[e+0>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[d>>2]=25152;g=(a[f>>0]&1)==0;if(g)h=f+1|0;else h=c[f+8>>2]|0;j=ot(h|0)|0;k=bs(j+13|0)|0;c[k+4>>2]=j;c[k>>2]=j;b=k+12|0;c[d+4>>2]=b;c[k+8>>2]=0;pt(b|0,h|0,j+1|0)|0;if(!g)Us(c[f+8>>2]|0);if((a[e>>0]&1)==0){c[d>>2]=13744;k=d+8|0;j=k;c[j>>2]=1;k=k+4|0;c[k>>2]=14312;c[d>>2]=14336;ed(d|0,14416,52)}Us(c[e+8>>2]|0);c[d>>2]=13744;k=d+8|0;j=k;c[j>>2]=1;k=k+4|0;c[k>>2]=14312;c[d>>2]=14336;ed(d|0,14416,52)}function bl(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;c[a>>2]=14360;f=c[a+40>>2]|0;if((f|0)!=0){d=a+32|0;e=a+36|0;do{f=f+ -1|0;wd[c[(c[d>>2]|0)+(f<<2)>>2]&127](0,a,c[(c[e>>2]|0)+(f<<2)>>2]|0)}while((f|0)!=0)}d=c[a+28>>2]|0;e=d+4|0;f=c[e>>2]|0;c[e>>2]=f+ -1;if((f|0)==0)qd[c[(c[d>>2]|0)+8>>2]&255](d);Us(c[a+32>>2]|0);Us(c[a+36>>2]|0);Us(c[a+48>>2]|0);Us(c[a+60>>2]|0);i=b;return}function cl(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;c[a>>2]=13976;d=c[a+4>>2]|0;f=d+4|0;e=c[f>>2]|0;c[f>>2]=e+ -1;if((e|0)!=0){Us(a);i=b;return}qd[c[(c[d>>2]|0)+8>>2]&255](d);Us(a);i=b;return}function dl(a){a=a|0;var b=0,d=0,e=0;b=i;c[a>>2]=13976;a=c[a+4>>2]|0;e=a+4|0;d=c[e>>2]|0;c[e>>2]=d+ -1;if((d|0)!=0){i=b;return}qd[c[(c[a>>2]|0)+8>>2]&255](a);i=b;return}function el(a,b){a=a|0;b=b|0;return}function fl(a,b,c){a=a|0;b=b|0;c=c|0;return a|0}function gl(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;g=a;c[g>>2]=0;c[g+4>>2]=0;g=a+8|0;c[g>>2]=-1;c[g+4>>2]=-1;return}function hl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=a;c[e>>2]=0;c[e+4>>2]=0;e=a+8|0;c[e>>2]=-1;c[e+4>>2]=-1;return}function il(a){a=a|0;return 0}function jl(a){a=a|0;return 0}function kl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;if((e|0)<=0){k=0;i=f;return k|0}g=b+12|0;h=b+16|0;j=0;while(1){k=c[g>>2]|0;if(k>>>0<(c[h>>2]|0)>>>0){c[g>>2]=k+1;k=a[k>>0]|0}else{k=ud[c[(c[b>>2]|0)+40>>2]&127](b)|0;if((k|0)==-1){e=8;break}k=k&255}a[d>>0]=k;j=j+1|0;if((j|0)<(e|0))d=d+1|0;else{e=8;break}}if((e|0)==8){i=f;return j|0}return 0}function ll(a){a=a|0;return-1}function ml(a){a=a|0;var b=0,e=0;b=i;if((ud[c[(c[a>>2]|0)+36>>2]&127](a)|0)==-1){a=-1;i=b;return a|0}e=a+12|0;a=c[e>>2]|0;c[e>>2]=a+1;a=d[a>>0]|0;i=b;return a|0}function nl(a,b){a=a|0;b=b|0;return-1}function ol(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;if((f|0)<=0){l=0;i=g;return l|0}j=b+24|0;h=b+28|0;k=0;while(1){l=c[j>>2]|0;if(!(l>>>0<(c[h>>2]|0)>>>0)){if((Dd[c[(c[b>>2]|0)+52>>2]&127](b,d[e>>0]|0)|0)==-1){h=7;break}}else{m=a[e>>0]|0;c[j>>2]=l+1;a[l>>0]=m}k=k+1|0;if((k|0)<(f|0))e=e+1|0;else{h=7;break}}if((h|0)==7){i=g;return k|0}return 0}function pl(a,b){a=a|0;b=b|0;return-1}function ql(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;c[a>>2]=14040;d=c[a+4>>2]|0;f=d+4|0;e=c[f>>2]|0;c[f>>2]=e+ -1;if((e|0)!=0){Us(a);i=b;return}qd[c[(c[d>>2]|0)+8>>2]&255](d);Us(a);i=b;return}function rl(a){a=a|0;var b=0,d=0,e=0;b=i;c[a>>2]=14040;a=c[a+4>>2]|0;e=a+4|0;d=c[e>>2]|0;c[e>>2]=d+ -1;if((d|0)!=0){i=b;return}qd[c[(c[a>>2]|0)+8>>2]&255](a);i=b;return}function sl(a,b){a=a|0;b=b|0;return}function tl(a,b,c){a=a|0;b=b|0;c=c|0;return a|0}function ul(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;g=a;c[g>>2]=0;c[g+4>>2]=0;g=a+8|0;c[g>>2]=-1;c[g+4>>2]=-1;return}function vl(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;e=a;c[e>>2]=0;c[e+4>>2]=0;e=a+8|0;c[e>>2]=-1;c[e+4>>2]=-1;return}function wl(a){a=a|0;return 0}function xl(a){a=a|0;return 0}function yl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;if((d|0)<=0){j=0;i=e;return j|0}f=a+12|0;g=a+16|0;h=0;while(1){j=c[f>>2]|0;if(!(j>>>0<(c[g>>2]|0)>>>0)){j=ud[c[(c[a>>2]|0)+40>>2]&127](a)|0;if((j|0)==-1){a=8;break}}else{c[f>>2]=j+4;j=c[j>>2]|0}c[b>>2]=j;h=h+1|0;if((h|0)>=(d|0)){a=8;break}b=b+4|0}if((a|0)==8){i=e;return h|0}return 0}function zl(a){a=a|0;return-1}function Al(a){a=a|0;var b=0,d=0;b=i;if((ud[c[(c[a>>2]|0)+36>>2]&127](a)|0)==-1){a=-1;i=b;return a|0}d=a+12|0;a=c[d>>2]|0;c[d>>2]=a+4;a=c[a>>2]|0;i=b;return a|0}function Bl(a,b){a=a|0;b=b|0;return-1}function Cl(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;if((d|0)<=0){j=0;i=e;return j|0}g=a+24|0;f=a+28|0;h=0;while(1){j=c[g>>2]|0;if(!(j>>>0<(c[f>>2]|0)>>>0)){if((Dd[c[(c[a>>2]|0)+52>>2]&127](a,c[b>>2]|0)|0)==-1){f=8;break}}else{k=c[b>>2]|0;c[g>>2]=j+4;c[j>>2]=k}h=h+1|0;if((h|0)>=(d|0)){f=8;break}b=b+4|0}if((f|0)==8){i=e;return h|0}return 0}function Dl(a,b){a=a|0;b=b|0;return-1}function El(a){a=a|0;var b=0;b=i;bl(a+8|0);Us(a);i=b;return}function Fl(a){a=a|0;var b=0;b=i;bl(a+8|0);i=b;return}function Gl(a){a=a|0;var b=0,d=0;b=i;d=c[(c[a>>2]|0)+ -12>>2]|0;bl(a+(d+8)|0);Us(a+d|0);i=b;return}function Hl(a){a=a|0;var b=0;b=i;bl(a+((c[(c[a>>2]|0)+ -12>>2]|0)+8)|0);i=b;return}function Il(b){b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d;f=c[(c[b>>2]|0)+ -12>>2]|0;if((c[b+(f+24)>>2]|0)==0){i=d;return}a[e>>0]=0;c[e+4>>2]=b;if((c[b+(f+16)>>2]|0)==0){f=c[b+(f+72)>>2]|0;if((f|0)!=0)Il(f);a[e>>0]=1;f=c[b+((c[(c[b>>2]|0)+ -12>>2]|0)+24)>>2]|0;if((ud[c[(c[f>>2]|0)+24>>2]&127](f)|0)==-1){f=c[(c[b>>2]|0)+ -12>>2]|0;al(b+f|0,c[b+(f+16)>>2]|1)}}Sl(e);i=d;return}function Jl(a){a=a|0;var b=0;b=i;bl(a+8|0);Us(a);i=b;return}function Kl(a){a=a|0;var b=0;b=i;bl(a+8|0);i=b;return}function Ll(a){a=a|0;var b=0,d=0;b=i;d=c[(c[a>>2]|0)+ -12>>2]|0;bl(a+(d+8)|0);Us(a+d|0);i=b;return}function Ml(a){a=a|0;var b=0;b=i;bl(a+((c[(c[a>>2]|0)+ -12>>2]|0)+8)|0);i=b;return}function Nl(b){b=b|0;var d=0,e=0,f=0;d=i;i=i+16|0;e=d;f=c[(c[b>>2]|0)+ -12>>2]|0;if((c[b+(f+24)>>2]|0)==0){i=d;return}a[e>>0]=0;c[e+4>>2]=b;if((c[b+(f+16)>>2]|0)==0){f=c[b+(f+72)>>2]|0;if((f|0)!=0)Nl(f);a[e>>0]=1;f=c[b+((c[(c[b>>2]|0)+ -12>>2]|0)+24)>>2]|0;if((ud[c[(c[f>>2]|0)+24>>2]&127](f)|0)==-1){f=c[(c[b>>2]|0)+ -12>>2]|0;al(b+f|0,c[b+(f+16)>>2]|1)}}Xl(e);i=d;return}function Ol(a){a=a|0;var b=0;b=i;bl(a+4|0);Us(a);i=b;return}function Pl(a){a=a|0;var b=0;b=i;bl(a+4|0);i=b;return}function Ql(a){a=a|0;var b=0,d=0;b=i;d=c[(c[a>>2]|0)+ -12>>2]|0;bl(a+(d+4)|0);Us(a+d|0);i=b;return}function Rl(a){a=a|0;var b=0;b=i;bl(a+((c[(c[a>>2]|0)+ -12>>2]|0)+4)|0);i=b;return}function Sl(a){a=a|0;var b=0,d=0,e=0;b=i;a=a+4|0;d=c[a>>2]|0;e=c[(c[d>>2]|0)+ -12>>2]|0;if((c[d+(e+24)>>2]|0)==0){i=b;return}if((c[d+(e+16)>>2]|0)!=0){i=b;return}if((c[d+(e+4)>>2]&8192|0)==0){i=b;return}if(Ja()|0){i=b;return}e=c[a>>2]|0;e=c[e+((c[(c[e>>2]|0)+ -12>>2]|0)+24)>>2]|0;if(!((ud[c[(c[e>>2]|0)+24>>2]&127](e)|0)==-1)){i=b;return}d=c[a>>2]|0;e=c[(c[d>>2]|0)+ -12>>2]|0;al(d+e|0,c[d+(e+16)>>2]|1);i=b;return}function Tl(a){a=a|0;var b=0;b=i;bl(a+4|0);Us(a);i=b;return}function Ul(a){a=a|0;var b=0;b=i;bl(a+4|0);i=b;return}function Vl(a){a=a|0;var b=0,d=0;b=i;d=c[(c[a>>2]|0)+ -12>>2]|0;bl(a+(d+4)|0);Us(a+d|0);i=b;return}function Wl(a){a=a|0;var b=0;b=i;bl(a+((c[(c[a>>2]|0)+ -12>>2]|0)+4)|0);i=b;return}function Xl(a){a=a|0;var b=0,d=0,e=0;b=i;a=a+4|0;d=c[a>>2]|0;e=c[(c[d>>2]|0)+ -12>>2]|0;if((c[d+(e+24)>>2]|0)==0){i=b;return}if((c[d+(e+16)>>2]|0)!=0){i=b;return}if((c[d+(e+4)>>2]&8192|0)==0){i=b;return}if(Ja()|0){i=b;return}e=c[a>>2]|0;e=c[e+((c[(c[e>>2]|0)+ -12>>2]|0)+24)>>2]|0;if(!((ud[c[(c[e>>2]|0)+24>>2]&127](e)|0)==-1)){i=b;return}d=c[a>>2]|0;e=c[(c[d>>2]|0)+ -12>>2]|0;al(d+e|0,c[d+(e+16)>>2]|1);i=b;return}function Yl(a){a=a|0;return 14256}function Zl(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;d=i;if((e|0)==1){e=bs(48)|0;c[b+8>>2]=e;c[b>>2]=49;c[b+4>>2]=35;g=e+0|0;f=14272|0;b=g+35|0;do{a[g>>0]=a[f>>0]|0;g=g+1|0;f=f+1|0}while((g|0)<(b|0));a[e+35>>0]=0;i=d;return}else{g=id(e|0)|0;Jk(b,g,ot(g|0)|0);i=d;return}}function _l(a){a=a|0;return}function $l(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;c[a>>2]=25152;d=a+4|0;f=(c[d>>2]|0)+ -4|0;e=c[f>>2]|0;c[f>>2]=e+ -1;if((e+ -1|0)>=0){Us(a);i=b;return}Us((c[d>>2]|0)+ -12|0);Us(a);i=b;return}function am(a){a=a|0;var b=0,d=0,e=0;b=i;c[a>>2]=25152;a=a+4|0;e=(c[a>>2]|0)+ -4|0;d=c[e>>2]|0;c[e>>2]=d+ -1;if((d+ -1|0)>=0){i=b;return}Us((c[a>>2]|0)+ -12|0);i=b;return}function bm(a){a=a|0;var b=0;b=i;bl(a);Us(a);i=b;return}function cm(a){a=a|0;var b=0;b=i;Us(a);i=b;return}function dm(a){a=a|0;var b=0;b=i;Us(a);i=b;return}function em(a){a=a|0;return}function fm(a){a=a|0;return}function gm(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;b=i;a:do if((e|0)==(f|0))g=6;else while(1){if((c|0)==(d|0)){d=-1;break a}h=a[c>>0]|0;j=a[e>>0]|0;if(h<<24>>24<j<<24>>24){d=-1;break a}if(j<<24>>24<h<<24>>24){d=1;break a}c=c+1|0;e=e+1|0;if((e|0)==(f|0)){g=6;break}}while(0);if((g|0)==6)d=(c|0)!=(d|0)&1;i=b;return d|0}function hm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;b=i;Lk(a,c,d);i=b;return}function im(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;b=i;if((c|0)==(d|0)){e=0;i=b;return e|0}else e=0;do{e=(a[c>>0]|0)+(e<<4)|0;f=e&-268435456;e=(f>>>24|f)^e;c=c+1|0}while((c|0)!=(d|0));i=b;return e|0}function jm(a){a=a|0;var b=0;b=i;Us(a);i=b;return}function km(a){a=a|0;return}function lm(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;a=i;a:do if((e|0)==(f|0))g=6;else while(1){if((b|0)==(d|0)){d=-1;break a}h=c[b>>2]|0;j=c[e>>2]|0;if((h|0)<(j|0)){d=-1;break a}if((j|0)<(h|0)){d=1;break a}b=b+4|0;e=e+4|0;if((e|0)==(f|0)){g=6;break}}while(0);if((g|0)==6)d=(b|0)!=(d|0)&1;i=a;return d|0}function mm(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;b=i;Wk(a,c,d);i=b;return}function nm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;a=i;if((b|0)==(d|0)){e=0;i=a;return e|0}else e=0;do{e=(c[b>>2]|0)+(e<<4)|0;f=e&-268435456;e=(f>>>24|f)^e;b=b+4|0}while((b|0)!=(d|0));i=a;return e|0}function om(a){a=a|0;var b=0;b=i;Us(a);i=b;return}function pm(a){a=a|0;return}function qm(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=i;i=i+64|0;o=k+8|0;p=k+40|0;m=k+44|0;n=k+48|0;r=k+4|0;q=k;l=k+16|0;if((c[g+4>>2]&1|0)==0){c[m>>2]=-1;l=c[(c[d>>2]|0)+16>>2]|0;c[r>>2]=c[e>>2];c[q>>2]=c[f>>2];c[p+0>>2]=c[r+0>>2];c[o+0>>2]=c[q+0>>2];nd[l&127](n,d,p,o,g,h,m);l=c[n>>2]|0;c[e>>2]=l;e=c[m>>2]|0;if((e|0)==1)a[j>>0]=1;else if((e|0)==0)a[j>>0]=0;else{a[j>>0]=1;c[h>>2]=4}c[b>>2]=l;i=k;return}d=g+28|0;n=c[d>>2]|0;m=n+4|0;c[m>>2]=(c[m>>2]|0)+1;m=Vp(n,16720)|0;r=n+4|0;g=c[r>>2]|0;c[r>>2]=g+ -1;if((g|0)==0)qd[c[(c[n>>2]|0)+8>>2]&255](n);n=c[d>>2]|0;d=n+4|0;c[d>>2]=(c[d>>2]|0)+1;d=Vp(n,16864)|0;r=n+4|0;g=c[r>>2]|0;c[r>>2]=g+ -1;if((g|0)==0)qd[c[(c[n>>2]|0)+8>>2]&255](n);rd[c[(c[d>>2]|0)+24>>2]&127](l,d);g=l+12|0;rd[c[(c[d>>2]|0)+28>>2]&127](g,d);a[j>>0]=(rm(e,c[f>>2]|0,l,l+24|0,m,h,1)|0)==(l|0)&1;c[b>>2]=c[e>>2];if(!((a[g>>0]&1)==0))Us(c[l+20>>2]|0);if((a[l>>0]&1)==0){i=k;return}Us(c[l+8>>2]|0);i=k;return}function rm(b,e,f,g,h,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;m=i;i=i+112|0;o=m;s=(g-f|0)/12|0;if(s>>>0>100){n=Ts(s)|0;if((n|0)==0){y=_b(4)|0;c[y>>2]=24928;ed(y|0,24976,117)}else o=n}else n=0;p=(f|0)==(g|0);if(p)t=0;else{q=f;t=0;r=o;while(1){u=a[q>>0]|0;if((u&1)==0)u=(u&255)>>>1;else u=c[q+4>>2]|0;if((u|0)==0){a[r>>0]=2;t=t+1|0;s=s+ -1|0}else a[r>>0]=1;q=q+12|0;if((q|0)==(g|0))break;else r=r+1|0}}q=0;a:while(1){v=(s|0)!=0;r=q;while(1){q=c[b>>2]|0;do if((q|0)!=0){if((c[q+12>>2]|0)==(c[q+16>>2]|0))if((ud[c[(c[q>>2]|0)+36>>2]&127](q)|0)==-1){c[b>>2]=0;q=0;break}else{q=c[b>>2]|0;break}}else q=0;while(0);x=(q|0)==0;if((e|0)!=0)if((c[e+12>>2]|0)==(c[e+16>>2]|0)){y=(ud[c[(c[e>>2]|0)+36>>2]&127](e)|0)==-1;q=y?0:e;e=y?0:e}else q=e;else{q=0;e=0}u=(q|0)==0;w=c[b>>2]|0;if(!((x^u)&v))break a;q=c[w+12>>2]|0;if((q|0)==(c[w+16>>2]|0))q=ud[c[(c[w>>2]|0)+36>>2]&127](w)|0;else q=d[q>>0]|0;u=q&255;if(!k)u=Dd[c[(c[h>>2]|0)+12>>2]&127](h,u)|0;q=r+1|0;if(p)r=q;else{x=0;v=f;w=o;break}}while(1){do if((a[w>>0]|0)==1){if((a[v>>0]&1)==0)y=v+1|0;else y=c[v+8>>2]|0;y=a[y+r>>0]|0;if(!k)y=Dd[c[(c[h>>2]|0)+12>>2]&127](h,y)|0;if(!(u<<24>>24==y<<24>>24)){a[w>>0]=0;s=s+ -1|0;break}x=a[v>>0]|0;if((x&1)==0)x=(x&255)>>>1;else x=c[v+4>>2]|0;if((x|0)==(q|0)){a[w>>0]=2;x=1;t=t+1|0;s=s+ -1|0}else x=1}while(0);v=v+12|0;if((v|0)==(g|0))break;w=w+1|0}if(!x)continue;r=c[b>>2]|0;u=r+12|0;v=c[u>>2]|0;if((v|0)==(c[r+16>>2]|0))ud[c[(c[r>>2]|0)+40>>2]&127](r)|0;else c[u>>2]=v+1;if((t+s|0)>>>0<2)continue;else{r=f;u=o}while(1){if((a[u>>0]|0)==2){v=a[r>>0]|0;if((v&1)==0)v=(v&255)>>>1;else v=c[r+4>>2]|0;if((v|0)!=(q|0)){a[u>>0]=0;t=t+ -1|0}}r=r+12|0;if((r|0)==(g|0))continue a;else u=u+1|0}}do if((w|0)!=0){if((c[w+12>>2]|0)==(c[w+16>>2]|0))if((ud[c[(c[w>>2]|0)+36>>2]&127](w)|0)==-1){c[b>>2]=0;w=0;break}else{w=c[b>>2]|0;break}}else w=0;while(0);k=(w|0)==0;do if(!u){if((c[q+12>>2]|0)!=(c[q+16>>2]|0))if(k)break;else{l=67;break}if(!((ud[c[(c[q>>2]|0)+36>>2]&127](q)|0)==-1)){if(!k)l=67}else l=65}else l=65;while(0);if((l|0)==65?k:0)l=67;if((l|0)==67)c[j>>2]=c[j>>2]|2;b:do if(!p)if((a[o>>0]|0)==2)g=f;else while(1){f=f+12|0;o=o+1|0;if((f|0)==(g|0)){l=72;break b}if((a[o>>0]|0)==2){g=f;break}}else l=72;while(0);if((l|0)==72)c[j>>2]=c[j>>2]|4;if((n|0)==0){i=m;return g|0}Us(n);i=m;return g|0}function sm(b,e,f,g,h,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;m=i;i=i+224|0;t=m+198|0;w=m+196|0;e=m+16|0;n=m+4|0;r=m+192|0;s=m+32|0;p=m;q=m+28|0;v=c[f>>2]|0;y=c[g>>2]|0;g=c[h+4>>2]&74;if((g|0)==8)g=16;else if((g|0)==64)g=8;else if((g|0)==0)g=0;else g=10;Um(e,h,t,w);c[n+0>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;Ok(n,10);if((a[n>>0]&1)==0){z=n+1|0;u=n+8|0;h=z}else{z=n+8|0;u=z;h=n+1|0;z=c[z>>2]|0}c[r>>2]=z;c[p>>2]=s;c[q>>2]=0;f=n+4|0;w=a[w>>0]|0;a:while(1){if((v|0)!=0){if((c[v+12>>2]|0)==(c[v+16>>2]|0)){C=(ud[c[(c[v>>2]|0)+36>>2]&127](v)|0)==-1;v=C?0:v}}else v=0;x=(v|0)==0;do if((y|0)!=0){if((c[y+12>>2]|0)!=(c[y+16>>2]|0))if(x)break;else break a;if(!((ud[c[(c[y>>2]|0)+36>>2]&127](y)|0)==-1)){if(!x)break a}else l=16}else l=16;while(0);if((l|0)==16){l=0;if(x){y=0;break}else y=0}C=a[n>>0]|0;B=(C&1)==0;if(B)A=(C&255)>>>1;else A=c[f>>2]|0;if(((c[r>>2]|0)-z|0)==(A|0)){if(B)A=(C&255)>>>1;else A=c[f>>2]|0;Ok(n,A<<1);if((a[n>>0]&1)==0)z=10;else z=(c[n>>2]&-2)+ -1|0;Ok(n,z);if((a[n>>0]&1)==0)z=h;else z=c[u>>2]|0;c[r>>2]=z+A}A=v+12|0;C=c[A>>2]|0;B=v+16|0;if((C|0)==(c[B>>2]|0))C=ud[c[(c[v>>2]|0)+36>>2]&127](v)|0;else C=d[C>>0]|0;if((Cm(C&255,g,z,r,q,w,e,s,p,t)|0)!=0)break;x=c[A>>2]|0;if((x|0)==(c[B>>2]|0)){ud[c[(c[v>>2]|0)+40>>2]&127](v)|0;continue}else{c[A>>2]=x+1;continue}}t=a[e>>0]|0;if((t&1)==0)t=(t&255)>>>1;else t=c[e+4>>2]|0;if((t|0)!=0?(o=c[p>>2]|0,(o-s|0)<160):0){C=c[q>>2]|0;c[p>>2]=o+4;c[o>>2]=C}c[k>>2]=Kr(z,c[r>>2]|0,j,g)|0;lp(e,s,c[p>>2]|0,j);if(!x){if((c[v+12>>2]|0)==(c[v+16>>2]|0)){C=(ud[c[(c[v>>2]|0)+36>>2]&127](v)|0)==-1;v=C?0:v}}else v=0;k=(v|0)==0;do if((y|0)!=0){if((c[y+12>>2]|0)!=(c[y+16>>2]|0))if(k)break;else{l=52;break}if(!((ud[c[(c[y>>2]|0)+36>>2]&127](y)|0)==-1)){if(!k)l=52}else l=50}else l=50;while(0);if((l|0)==50?k:0)l=52;if((l|0)==52)c[j>>2]=c[j>>2]|2;c[b>>2]=v;if(!((a[n>>0]&1)==0))Us(c[n+8>>2]|0);if((a[e>>0]&1)==0){i=m;return}Us(c[e+8>>2]|0);i=m;return}function tm(b,e,f,g,h,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;m=i;i=i+224|0;t=m+198|0;w=m+196|0;e=m+16|0;n=m+4|0;r=m+192|0;s=m+32|0;p=m;q=m+28|0;v=c[f>>2]|0;y=c[g>>2]|0;g=c[h+4>>2]&74;if((g|0)==64)g=8;else if((g|0)==8)g=16;else if((g|0)==0)g=0;else g=10;Um(e,h,t,w);c[n+0>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;Ok(n,10);if((a[n>>0]&1)==0){z=n+1|0;u=n+8|0;h=z}else{z=n+8|0;u=z;h=n+1|0;z=c[z>>2]|0}c[r>>2]=z;c[p>>2]=s;c[q>>2]=0;f=n+4|0;w=a[w>>0]|0;a:while(1){if((v|0)!=0){if((c[v+12>>2]|0)==(c[v+16>>2]|0)){C=(ud[c[(c[v>>2]|0)+36>>2]&127](v)|0)==-1;v=C?0:v}}else v=0;x=(v|0)==0;do if((y|0)!=0){if((c[y+12>>2]|0)!=(c[y+16>>2]|0))if(x)break;else break a;if(!((ud[c[(c[y>>2]|0)+36>>2]&127](y)|0)==-1)){if(!x)break a}else l=16}else l=16;while(0);if((l|0)==16){l=0;if(x){y=0;break}else y=0}C=a[n>>0]|0;B=(C&1)==0;if(B)A=(C&255)>>>1;else A=c[f>>2]|0;if(((c[r>>2]|0)-z|0)==(A|0)){if(B)A=(C&255)>>>1;else A=c[f>>2]|0;Ok(n,A<<1);if((a[n>>0]&1)==0)z=10;else z=(c[n>>2]&-2)+ -1|0;Ok(n,z);if((a[n>>0]&1)==0)z=h;else z=c[u>>2]|0;c[r>>2]=z+A}A=v+12|0;C=c[A>>2]|0;B=v+16|0;if((C|0)==(c[B>>2]|0))C=ud[c[(c[v>>2]|0)+36>>2]&127](v)|0;else C=d[C>>0]|0;if((Cm(C&255,g,z,r,q,w,e,s,p,t)|0)!=0)break;x=c[A>>2]|0;if((x|0)==(c[B>>2]|0)){ud[c[(c[v>>2]|0)+40>>2]&127](v)|0;continue}else{c[A>>2]=x+1;continue}}t=a[e>>0]|0;if((t&1)==0)t=(t&255)>>>1;else t=c[e+4>>2]|0;if((t|0)!=0?(o=c[p>>2]|0,(o-s|0)<160):0){C=c[q>>2]|0;c[p>>2]=o+4;c[o>>2]=C}B=Jr(z,c[r>>2]|0,j,g)|0;C=k;c[C>>2]=B;c[C+4>>2]=H;lp(e,s,c[p>>2]|0,j);if(!x){if((c[v+12>>2]|0)==(c[v+16>>2]|0)){C=(ud[c[(c[v>>2]|0)+36>>2]&127](v)|0)==-1;v=C?0:v}}else v=0;k=(v|0)==0;do if((y|0)!=0){if((c[y+12>>2]|0)!=(c[y+16>>2]|0))if(k)break;else{l=52;break}if(!((ud[c[(c[y>>2]|0)+36>>2]&127](y)|0)==-1)){if(!k)l=52}else l=50}else l=50;while(0);if((l|0)==50?k:0)l=52;if((l|0)==52)c[j>>2]=c[j>>2]|2;c[b>>2]=v;if(!((a[n>>0]&1)==0))Us(c[n+8>>2]|0);if((a[e>>0]&1)==0){i=m;return}Us(c[e+8>>2]|0);i=m;return}function um(e,f,g,h,j,k,l){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;n=i;i=i+224|0;u=n+198|0;x=n+196|0;f=n+16|0;o=n+4|0;s=n+192|0;t=n+32|0;q=n;r=n+28|0;w=c[g>>2]|0;z=c[h>>2]|0;h=c[j+4>>2]&74;if((h|0)==64)h=8;else if((h|0)==8)h=16;else if((h|0)==0)h=0;else h=10;Um(f,j,u,x);c[o+0>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;Ok(o,10);if((a[o>>0]&1)==0){A=o+1|0;v=o+8|0;j=A}else{A=o+8|0;v=A;j=o+1|0;A=c[A>>2]|0}c[s>>2]=A;c[q>>2]=t;c[r>>2]=0;g=o+4|0;x=a[x>>0]|0;a:while(1){if((w|0)!=0){if((c[w+12>>2]|0)==(c[w+16>>2]|0)){D=(ud[c[(c[w>>2]|0)+36>>2]&127](w)|0)==-1;w=D?0:w}}else w=0;y=(w|0)==0;do if((z|0)!=0){if((c[z+12>>2]|0)!=(c[z+16>>2]|0))if(y)break;else break a;if(!((ud[c[(c[z>>2]|0)+36>>2]&127](z)|0)==-1)){if(!y)break a}else m=16}else m=16;while(0);if((m|0)==16){m=0;if(y){z=0;break}else z=0}D=a[o>>0]|0;C=(D&1)==0;if(C)B=(D&255)>>>1;else B=c[g>>2]|0;if(((c[s>>2]|0)-A|0)==(B|0)){if(C)B=(D&255)>>>1;else B=c[g>>2]|0;Ok(o,B<<1);if((a[o>>0]&1)==0)A=10;else A=(c[o>>2]&-2)+ -1|0;Ok(o,A);if((a[o>>0]&1)==0)A=j;else A=c[v>>2]|0;c[s>>2]=A+B}B=w+12|0;D=c[B>>2]|0;C=w+16|0;if((D|0)==(c[C>>2]|0))D=ud[c[(c[w>>2]|0)+36>>2]&127](w)|0;else D=d[D>>0]|0;if((Cm(D&255,h,A,s,r,x,f,t,q,u)|0)!=0)break;y=c[B>>2]|0;if((y|0)==(c[C>>2]|0)){ud[c[(c[w>>2]|0)+40>>2]&127](w)|0;continue}else{c[B>>2]=y+1;continue}}u=a[f>>0]|0;if((u&1)==0)u=(u&255)>>>1;else u=c[f+4>>2]|0;if((u|0)!=0?(p=c[q>>2]|0,(p-t|0)<160):0){D=c[r>>2]|0;c[q>>2]=p+4;c[p>>2]=D}b[l>>1]=Ir(A,c[s>>2]|0,k,h)|0;lp(f,t,c[q>>2]|0,k);if(!y){if((c[w+12>>2]|0)==(c[w+16>>2]|0)){D=(ud[c[(c[w>>2]|0)+36>>2]&127](w)|0)==-1;w=D?0:w}}else w=0;l=(w|0)==0;do if((z|0)!=0){if((c[z+12>>2]|0)!=(c[z+16>>2]|0))if(l)break;else{m=52;break}if(!((ud[c[(c[z>>2]|0)+36>>2]&127](z)|0)==-1)){if(!l)m=52}else m=50}else m=50;while(0);if((m|0)==50?l:0)m=52;if((m|0)==52)c[k>>2]=c[k>>2]|2;c[e>>2]=w;if(!((a[o>>0]&1)==0))Us(c[o+8>>2]|0);if((a[f>>0]&1)==0){i=n;return}Us(c[f+8>>2]|0);i=n;return}function vm(b,e,f,g,h,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;m=i;i=i+224|0;t=m+198|0;w=m+196|0;e=m+16|0;n=m+4|0;r=m+192|0;s=m+32|0;p=m;q=m+28|0;v=c[f>>2]|0;y=c[g>>2]|0;g=c[h+4>>2]&74;if((g|0)==64)g=8;else if((g|0)==8)g=16;else if((g|0)==0)g=0;else g=10;Um(e,h,t,w);c[n+0>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;Ok(n,10);if((a[n>>0]&1)==0){z=n+1|0;u=n+8|0;h=z}else{z=n+8|0;u=z;h=n+1|0;z=c[z>>2]|0}c[r>>2]=z;c[p>>2]=s;c[q>>2]=0;f=n+4|0;w=a[w>>0]|0;a:while(1){if((v|0)!=0){if((c[v+12>>2]|0)==(c[v+16>>2]|0)){C=(ud[c[(c[v>>2]|0)+36>>2]&127](v)|0)==-1;v=C?0:v}}else v=0;x=(v|0)==0;do if((y|0)!=0){if((c[y+12>>2]|0)!=(c[y+16>>2]|0))if(x)break;else break a;if(!((ud[c[(c[y>>2]|0)+36>>2]&127](y)|0)==-1)){if(!x)break a}else l=16}else l=16;while(0);if((l|0)==16){l=0;if(x){y=0;break}else y=0}C=a[n>>0]|0;B=(C&1)==0;if(B)A=(C&255)>>>1;else A=c[f>>2]|0;if(((c[r>>2]|0)-z|0)==(A|0)){if(B)A=(C&255)>>>1;else A=c[f>>2]|0;Ok(n,A<<1);if((a[n>>0]&1)==0)z=10;else z=(c[n>>2]&-2)+ -1|0;Ok(n,z);if((a[n>>0]&1)==0)z=h;else z=c[u>>2]|0;c[r>>2]=z+A}A=v+12|0;C=c[A>>2]|0;B=v+16|0;if((C|0)==(c[B>>2]|0))C=ud[c[(c[v>>2]|0)+36>>2]&127](v)|0;else C=d[C>>0]|0;if((Cm(C&255,g,z,r,q,w,e,s,p,t)|0)!=0)break;x=c[A>>2]|0;if((x|0)==(c[B>>2]|0)){ud[c[(c[v>>2]|0)+40>>2]&127](v)|0;continue}else{c[A>>2]=x+1;continue}}t=a[e>>0]|0;if((t&1)==0)t=(t&255)>>>1;else t=c[e+4>>2]|0;if((t|0)!=0?(o=c[p>>2]|0,(o-s|0)<160):0){C=c[q>>2]|0;c[p>>2]=o+4;c[o>>2]=C}c[k>>2]=Hr(z,c[r>>2]|0,j,g)|0;lp(e,s,c[p>>2]|0,j);if(!x){if((c[v+12>>2]|0)==(c[v+16>>2]|0)){C=(ud[c[(c[v>>2]|0)+36>>2]&127](v)|0)==-1;v=C?0:v}}else v=0;k=(v|0)==0;do if((y|0)!=0){if((c[y+12>>2]|0)!=(c[y+16>>2]|0))if(k)break;else{l=52;break}if(!((ud[c[(c[y>>2]|0)+36>>2]&127](y)|0)==-1)){if(!k)l=52}else l=50}else l=50;while(0);if((l|0)==50?k:0)l=52;if((l|0)==52)c[j>>2]=c[j>>2]|2;c[b>>2]=v;if(!((a[n>>0]&1)==0))Us(c[n+8>>2]|0);if((a[e>>0]&1)==0){i=m;return}Us(c[e+8>>2]|0);i=m;return}function wm(b,e,f,g,h,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;m=i;i=i+224|0;t=m+198|0;w=m+196|0;e=m+16|0;n=m+4|0;r=m+192|0;s=m+32|0;p=m;q=m+28|0;v=c[f>>2]|0;y=c[g>>2]|0;g=c[h+4>>2]&74;if((g|0)==8)g=16;else if((g|0)==64)g=8;else if((g|0)==0)g=0;else g=10;Um(e,h,t,w);c[n+0>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;Ok(n,10);if((a[n>>0]&1)==0){z=n+1|0;u=n+8|0;h=z}else{z=n+8|0;u=z;h=n+1|0;z=c[z>>2]|0}c[r>>2]=z;c[p>>2]=s;c[q>>2]=0;f=n+4|0;w=a[w>>0]|0;a:while(1){if((v|0)!=0){if((c[v+12>>2]|0)==(c[v+16>>2]|0)){C=(ud[c[(c[v>>2]|0)+36>>2]&127](v)|0)==-1;v=C?0:v}}else v=0;x=(v|0)==0;do if((y|0)!=0){if((c[y+12>>2]|0)!=(c[y+16>>2]|0))if(x)break;else break a;if(!((ud[c[(c[y>>2]|0)+36>>2]&127](y)|0)==-1)){if(!x)break a}else l=16}else l=16;while(0);if((l|0)==16){l=0;if(x){y=0;break}else y=0}C=a[n>>0]|0;B=(C&1)==0;if(B)A=(C&255)>>>1;else A=c[f>>2]|0;if(((c[r>>2]|0)-z|0)==(A|0)){if(B)A=(C&255)>>>1;else A=c[f>>2]|0;Ok(n,A<<1);if((a[n>>0]&1)==0)z=10;else z=(c[n>>2]&-2)+ -1|0;Ok(n,z);if((a[n>>0]&1)==0)z=h;else z=c[u>>2]|0;c[r>>2]=z+A}A=v+12|0;C=c[A>>2]|0;B=v+16|0;if((C|0)==(c[B>>2]|0))C=ud[c[(c[v>>2]|0)+36>>2]&127](v)|0;else C=d[C>>0]|0;if((Cm(C&255,g,z,r,q,w,e,s,p,t)|0)!=0)break;x=c[A>>2]|0;if((x|0)==(c[B>>2]|0)){ud[c[(c[v>>2]|0)+40>>2]&127](v)|0;continue}else{c[A>>2]=x+1;continue}}t=a[e>>0]|0;if((t&1)==0)t=(t&255)>>>1;else t=c[e+4>>2]|0;if((t|0)!=0?(o=c[p>>2]|0,(o-s|0)<160):0){C=c[q>>2]|0;c[p>>2]=o+4;c[o>>2]=C}c[k>>2]=Gr(z,c[r>>2]|0,j,g)|0;lp(e,s,c[p>>2]|0,j);if(!x){if((c[v+12>>2]|0)==(c[v+16>>2]|0)){C=(ud[c[(c[v>>2]|0)+36>>2]&127](v)|0)==-1;v=C?0:v}}else v=0;k=(v|0)==0;do if((y|0)!=0){if((c[y+12>>2]|0)!=(c[y+16>>2]|0))if(k)break;else{l=52;break}if(!((ud[c[(c[y>>2]|0)+36>>2]&127](y)|0)==-1)){if(!k)l=52}else l=50}else l=50;while(0);if((l|0)==50?k:0)l=52;if((l|0)==52)c[j>>2]=c[j>>2]|2;c[b>>2]=v;if(!((a[n>>0]&1)==0))Us(c[n+8>>2]|0);if((a[e>>0]&1)==0){i=m;return}Us(c[e+8>>2]|0);i=m;return}function xm(b,e,f,g,h,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;m=i;i=i+224|0;t=m+198|0;w=m+196|0;e=m+16|0;n=m+4|0;r=m+192|0;s=m+32|0;p=m;q=m+28|0;v=c[f>>2]|0;y=c[g>>2]|0;g=c[h+4>>2]&74;if((g|0)==64)g=8;else if((g|0)==8)g=16;else if((g|0)==0)g=0;else g=10;Um(e,h,t,w);c[n+0>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;Ok(n,10);if((a[n>>0]&1)==0){z=n+1|0;u=n+8|0;h=z}else{z=n+8|0;u=z;h=n+1|0;z=c[z>>2]|0}c[r>>2]=z;c[p>>2]=s;c[q>>2]=0;f=n+4|0;w=a[w>>0]|0;a:while(1){if((v|0)!=0){if((c[v+12>>2]|0)==(c[v+16>>2]|0)){C=(ud[c[(c[v>>2]|0)+36>>2]&127](v)|0)==-1;v=C?0:v}}else v=0;x=(v|0)==0;do if((y|0)!=0){if((c[y+12>>2]|0)!=(c[y+16>>2]|0))if(x)break;else break a;if(!((ud[c[(c[y>>2]|0)+36>>2]&127](y)|0)==-1)){if(!x)break a}else l=16}else l=16;while(0);if((l|0)==16){l=0;if(x){y=0;break}else y=0}C=a[n>>0]|0;B=(C&1)==0;if(B)A=(C&255)>>>1;else A=c[f>>2]|0;if(((c[r>>2]|0)-z|0)==(A|0)){if(B)A=(C&255)>>>1;else A=c[f>>2]|0;Ok(n,A<<1);if((a[n>>0]&1)==0)z=10;else z=(c[n>>2]&-2)+ -1|0;Ok(n,z);if((a[n>>0]&1)==0)z=h;else z=c[u>>2]|0;c[r>>2]=z+A}A=v+12|0;C=c[A>>2]|0;B=v+16|0;if((C|0)==(c[B>>2]|0))C=ud[c[(c[v>>2]|0)+36>>2]&127](v)|0;else C=d[C>>0]|0;if((Cm(C&255,g,z,r,q,w,e,s,p,t)|0)!=0)break;x=c[A>>2]|0;if((x|0)==(c[B>>2]|0)){ud[c[(c[v>>2]|0)+40>>2]&127](v)|0;continue}else{c[A>>2]=x+1;continue}}t=a[e>>0]|0;if((t&1)==0)t=(t&255)>>>1;else t=c[e+4>>2]|0;if((t|0)!=0?(o=c[p>>2]|0,(o-s|0)<160):0){C=c[q>>2]|0;c[p>>2]=o+4;c[o>>2]=C}B=Fr(z,c[r>>2]|0,j,g)|0;C=k;c[C>>2]=B;c[C+4>>2]=H;lp(e,s,c[p>>2]|0,j);if(!x){if((c[v+12>>2]|0)==(c[v+16>>2]|0)){C=(ud[c[(c[v>>2]|0)+36>>2]&127](v)|0)==-1;v=C?0:v}}else v=0;k=(v|0)==0;do if((y|0)!=0){if((c[y+12>>2]|0)!=(c[y+16>>2]|0))if(k)break;else{l=52;break}if(!((ud[c[(c[y>>2]|0)+36>>2]&127](y)|0)==-1)){if(!k)l=52}else l=50}else l=50;while(0);if((l|0)==50?k:0)l=52;if((l|0)==52)c[j>>2]=c[j>>2]|2;c[b>>2]=v;if(!((a[n>>0]&1)==0))Us(c[n+8>>2]|0);if((a[e>>0]&1)==0){i=m;return}Us(c[e+8>>2]|0);i=m;return}function ym(b,e,f,h,j,k,l){b=b|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;o=i;i=i+256|0;v=o+208|0;x=o+200|0;y=o+240|0;e=o;n=o+188|0;s=o+184|0;u=o+16|0;q=o+176|0;r=o+180|0;t=o+241|0;w=o+242|0;z=c[f>>2]|0;B=c[h>>2]|0;Vm(e,j,v,x,y);c[n+0>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;Ok(n,10);if((a[n>>0]&1)==0){C=n+1|0;j=n+8|0;h=C}else{C=n+8|0;j=C;h=n+1|0;C=c[C>>2]|0}c[s>>2]=C;c[q>>2]=u;c[r>>2]=0;a[t>>0]=1;a[w>>0]=69;f=n+4|0;x=a[x>>0]|0;y=a[y>>0]|0;a:while(1){if((z|0)!=0){if((c[z+12>>2]|0)==(c[z+16>>2]|0)){F=(ud[c[(c[z>>2]|0)+36>>2]&127](z)|0)==-1;z=F?0:z}}else z=0;A=(z|0)==0;do if((B|0)!=0){if((c[B+12>>2]|0)!=(c[B+16>>2]|0))if(A)break;else break a;if(!((ud[c[(c[B>>2]|0)+36>>2]&127](B)|0)==-1)){if(!A)break a}else m=12}else m=12;while(0);if((m|0)==12){m=0;if(A){B=0;break}else B=0}D=a[n>>0]|0;F=(D&1)==0;if(F)E=(D&255)>>>1;else E=c[f>>2]|0;if(((c[s>>2]|0)-C|0)==(E|0)){if(F)D=(D&255)>>>1;else D=c[f>>2]|0;Ok(n,D<<1);if((a[n>>0]&1)==0)C=10;else C=(c[n>>2]&-2)+ -1|0;Ok(n,C);if((a[n>>0]&1)==0)C=h;else C=c[j>>2]|0;c[s>>2]=C+D}E=z+12|0;F=c[E>>2]|0;D=z+16|0;if((F|0)==(c[D>>2]|0))F=ud[c[(c[z>>2]|0)+36>>2]&127](z)|0;else F=d[F>>0]|0;if((Wm(F&255,t,w,C,s,x,y,e,u,q,r,v)|0)!=0)break;A=c[E>>2]|0;if((A|0)==(c[D>>2]|0)){ud[c[(c[z>>2]|0)+40>>2]&127](z)|0;continue}else{c[E>>2]=A+1;continue}}v=a[e>>0]|0;if((v&1)==0)v=(v&255)>>>1;else v=c[e+4>>2]|0;if(((v|0)!=0?(a[t>>0]|0)!=0:0)?(p=c[q>>2]|0,(p-u|0)<160):0){F=c[r>>2]|0;c[q>>2]=p+4;c[p>>2]=F}g[l>>2]=+Er(C,c[s>>2]|0,k);lp(e,u,c[q>>2]|0,k);if(!A){if((c[z+12>>2]|0)==(c[z+16>>2]|0)){F=(ud[c[(c[z>>2]|0)+36>>2]&127](z)|0)==-1;z=F?0:z}}else z=0;p=(z|0)==0;do if((B|0)!=0){if((c[B+12>>2]|0)!=(c[B+16>>2]|0))if(p)break;else{m=49;break}if(!((ud[c[(c[B>>2]|0)+36>>2]&127](B)|0)==-1)){if(!p)m=49}else m=47}else m=47;while(0);if((m|0)==47?p:0)m=49;if((m|0)==49)c[k>>2]=c[k>>2]|2;c[b>>2]=z;if(!((a[n>>0]&1)==0))Us(c[n+8>>2]|0);if((a[e>>0]&1)==0){i=o;return}Us(c[e+8>>2]|0);i=o;return}function zm(b,e,f,g,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;o=i;i=i+256|0;v=o+208|0;x=o+200|0;y=o+240|0;e=o;n=o+188|0;s=o+184|0;u=o+16|0;q=o+176|0;r=o+180|0;t=o+241|0;w=o+242|0;z=c[f>>2]|0;B=c[g>>2]|0;Vm(e,j,v,x,y);c[n+0>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;Ok(n,10);if((a[n>>0]&1)==0){C=n+1|0;j=n+8|0;g=C}else{C=n+8|0;j=C;g=n+1|0;C=c[C>>2]|0}c[s>>2]=C;c[q>>2]=u;c[r>>2]=0;a[t>>0]=1;a[w>>0]=69;f=n+4|0;x=a[x>>0]|0;y=a[y>>0]|0;a:while(1){if((z|0)!=0){if((c[z+12>>2]|0)==(c[z+16>>2]|0)){F=(ud[c[(c[z>>2]|0)+36>>2]&127](z)|0)==-1;z=F?0:z}}else z=0;A=(z|0)==0;do if((B|0)!=0){if((c[B+12>>2]|0)!=(c[B+16>>2]|0))if(A)break;else break a;if(!((ud[c[(c[B>>2]|0)+36>>2]&127](B)|0)==-1)){if(!A)break a}else m=12}else m=12;while(0);if((m|0)==12){m=0;if(A){B=0;break}else B=0}D=a[n>>0]|0;F=(D&1)==0;if(F)E=(D&255)>>>1;else E=c[f>>2]|0;if(((c[s>>2]|0)-C|0)==(E|0)){if(F)D=(D&255)>>>1;else D=c[f>>2]|0;Ok(n,D<<1);if((a[n>>0]&1)==0)C=10;else C=(c[n>>2]&-2)+ -1|0;Ok(n,C);if((a[n>>0]&1)==0)C=g;else C=c[j>>2]|0;c[s>>2]=C+D}E=z+12|0;F=c[E>>2]|0;D=z+16|0;if((F|0)==(c[D>>2]|0))F=ud[c[(c[z>>2]|0)+36>>2]&127](z)|0;else F=d[F>>0]|0;if((Wm(F&255,t,w,C,s,x,y,e,u,q,r,v)|0)!=0)break;A=c[E>>2]|0;if((A|0)==(c[D>>2]|0)){ud[c[(c[z>>2]|0)+40>>2]&127](z)|0;continue}else{c[E>>2]=A+1;continue}}v=a[e>>0]|0;if((v&1)==0)v=(v&255)>>>1;else v=c[e+4>>2]|0;if(((v|0)!=0?(a[t>>0]|0)!=0:0)?(p=c[q>>2]|0,(p-u|0)<160):0){F=c[r>>2]|0;c[q>>2]=p+4;c[p>>2]=F}h[l>>3]=+Dr(C,c[s>>2]|0,k);lp(e,u,c[q>>2]|0,k);if(!A){if((c[z+12>>2]|0)==(c[z+16>>2]|0)){F=(ud[c[(c[z>>2]|0)+36>>2]&127](z)|0)==-1;z=F?0:z}}else z=0;p=(z|0)==0;do if((B|0)!=0){if((c[B+12>>2]|0)!=(c[B+16>>2]|0))if(p)break;else{m=49;break}if(!((ud[c[(c[B>>2]|0)+36>>2]&127](B)|0)==-1)){if(!p)m=49}else m=47}else m=47;while(0);if((m|0)==47?p:0)m=49;if((m|0)==49)c[k>>2]=c[k>>2]|2;c[b>>2]=z;if(!((a[n>>0]&1)==0))Us(c[n+8>>2]|0);if((a[e>>0]&1)==0){i=o;return}Us(c[e+8>>2]|0);i=o;return}function Am(b,e,f,g,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;o=i;i=i+256|0;v=o+208|0;x=o+200|0;y=o+240|0;e=o;n=o+188|0;s=o+184|0;u=o+16|0;q=o+176|0;r=o+180|0;t=o+241|0;w=o+242|0;z=c[f>>2]|0;B=c[g>>2]|0;Vm(e,j,v,x,y);c[n+0>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;Ok(n,10);if((a[n>>0]&1)==0){C=n+1|0;j=n+8|0;g=C}else{C=n+8|0;j=C;g=n+1|0;C=c[C>>2]|0}c[s>>2]=C;c[q>>2]=u;c[r>>2]=0;a[t>>0]=1;a[w>>0]=69;f=n+4|0;x=a[x>>0]|0;y=a[y>>0]|0;a:while(1){if((z|0)!=0){if((c[z+12>>2]|0)==(c[z+16>>2]|0)){F=(ud[c[(c[z>>2]|0)+36>>2]&127](z)|0)==-1;z=F?0:z}}else z=0;A=(z|0)==0;do if((B|0)!=0){if((c[B+12>>2]|0)!=(c[B+16>>2]|0))if(A)break;else break a;if(!((ud[c[(c[B>>2]|0)+36>>2]&127](B)|0)==-1)){if(!A)break a}else m=12}else m=12;while(0);if((m|0)==12){m=0;if(A){B=0;break}else B=0}D=a[n>>0]|0;F=(D&1)==0;if(F)E=(D&255)>>>1;else E=c[f>>2]|0;if(((c[s>>2]|0)-C|0)==(E|0)){if(F)D=(D&255)>>>1;else D=c[f>>2]|0;Ok(n,D<<1);if((a[n>>0]&1)==0)C=10;else C=(c[n>>2]&-2)+ -1|0;Ok(n,C);if((a[n>>0]&1)==0)C=g;else C=c[j>>2]|0;c[s>>2]=C+D}E=z+12|0;F=c[E>>2]|0;D=z+16|0;if((F|0)==(c[D>>2]|0))F=ud[c[(c[z>>2]|0)+36>>2]&127](z)|0;else F=d[F>>0]|0;if((Wm(F&255,t,w,C,s,x,y,e,u,q,r,v)|0)!=0)break;A=c[E>>2]|0;if((A|0)==(c[D>>2]|0)){ud[c[(c[z>>2]|0)+40>>2]&127](z)|0;continue}else{c[E>>2]=A+1;continue}}v=a[e>>0]|0;if((v&1)==0)v=(v&255)>>>1;else v=c[e+4>>2]|0;if(((v|0)!=0?(a[t>>0]|0)!=0:0)?(p=c[q>>2]|0,(p-u|0)<160):0){F=c[r>>2]|0;c[q>>2]=p+4;c[p>>2]=F}h[l>>3]=+Cr(C,c[s>>2]|0,k);lp(e,u,c[q>>2]|0,k);if(!A){if((c[z+12>>2]|0)==(c[z+16>>2]|0)){F=(ud[c[(c[z>>2]|0)+36>>2]&127](z)|0)==-1;z=F?0:z}}else z=0;p=(z|0)==0;do if((B|0)!=0){if((c[B+12>>2]|0)!=(c[B+16>>2]|0))if(p)break;else{m=49;break}if(!((ud[c[(c[B>>2]|0)+36>>2]&127](B)|0)==-1)){if(!p)m=49}else m=47}else m=47;while(0);if((m|0)==47?p:0)m=49;if((m|0)==49)c[k>>2]=c[k>>2]|2;c[b>>2]=z;if(!((a[n>>0]&1)==0))Us(c[n+8>>2]|0);if((a[e>>0]&1)==0){i=o;return}Us(c[e+8>>2]|0);i=o;return}function Bm(b,e,f,g,h,j,k){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;n=i;i=i+240|0;o=n;t=n+204|0;e=n+184|0;m=n+172|0;r=n+168|0;p=n+8|0;s=n+196|0;q=n+200|0;c[e+0>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;h=c[h+28>>2]|0;z=h+4|0;c[z>>2]=(c[z>>2]|0)+1;z=Vp(h,16720)|0;Ad[c[(c[z>>2]|0)+32>>2]&31](z,15248,15274|0,t)|0;z=h+4|0;A=c[z>>2]|0;c[z>>2]=A+ -1;if((A|0)==0)qd[c[(c[h>>2]|0)+8>>2]&255](h);c[m+0>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;Ok(m,10);if((a[m>>0]&1)==0){x=m+1|0;u=m+8|0;v=x}else{x=m+8|0;u=x;v=m+1|0;x=c[x>>2]|0}c[r>>2]=x;c[s>>2]=p;c[q>>2]=0;h=m+4|0;w=c[f>>2]|0;a:while(1){if((w|0)!=0){if((c[w+12>>2]|0)==(c[w+16>>2]|0)?(ud[c[(c[w>>2]|0)+36>>2]&127](w)|0)==-1:0){c[f>>2]=0;w=0}}else w=0;y=(w|0)==0;z=c[g>>2]|0;do if((z|0)!=0){if((c[z+12>>2]|0)!=(c[z+16>>2]|0))if(y)break;else break a;if(!((ud[c[(c[z>>2]|0)+36>>2]&127](z)|0)==-1))if(y)break;else break a;else{c[g>>2]=0;l=16;break}}else l=16;while(0);if((l|0)==16?(l=0,y):0)break;z=a[m>>0]|0;A=(z&1)==0;if(A)y=(z&255)>>>1;else y=c[h>>2]|0;if(((c[r>>2]|0)-x|0)==(y|0)){if(A)y=(z&255)>>>1;else y=c[h>>2]|0;Ok(m,y<<1);if((a[m>>0]&1)==0)x=10;else x=(c[m>>2]&-2)+ -1|0;Ok(m,x);if((a[m>>0]&1)==0)x=v;else x=c[u>>2]|0;c[r>>2]=x+y}z=w+12|0;A=c[z>>2]|0;y=w+16|0;if((A|0)==(c[y>>2]|0))A=ud[c[(c[w>>2]|0)+36>>2]&127](w)|0;else A=d[A>>0]|0;if((Cm(A&255,16,x,r,q,0,e,p,s,t)|0)!=0)break;A=c[z>>2]|0;if((A|0)==(c[y>>2]|0)){ud[c[(c[w>>2]|0)+40>>2]&127](w)|0;continue}else{c[z>>2]=A+1;continue}}a[x+3>>0]=0;A=Em()|0;c[o>>2]=k;if((Dm(x,A,o)|0)!=1)c[j>>2]=4;o=c[f>>2]|0;if((o|0)!=0){if((c[o+12>>2]|0)==(c[o+16>>2]|0)?(ud[c[(c[o>>2]|0)+36>>2]&127](o)|0)==-1:0){c[f>>2]=0;o=0}}else o=0;k=(o|0)==0;f=c[g>>2]|0;do if((f|0)!=0){if((c[f+12>>2]|0)!=(c[f+16>>2]|0))if(k)break;else{l=50;break}if(!((ud[c[(c[f>>2]|0)+36>>2]&127](f)|0)==-1))if(k)break;else{l=50;break}else{c[g>>2]=0;l=48;break}}else l=48;while(0);if((l|0)==48?k:0)l=50;if((l|0)==50)c[j>>2]=c[j>>2]|2;c[b>>2]=o;if(!((a[m>>0]&1)==0))Us(c[m+8>>2]|0);if((a[e>>0]&1)==0){i=n;return}Us(c[e+8>>2]|0);i=n;return}function Cm(b,d,e,f,g,h,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0;n=i;p=c[f>>2]|0;o=(p|0)==(e|0);do if(o){q=(a[m+24>>0]|0)==b<<24>>24;if(!q?!((a[m+25>>0]|0)==b<<24>>24):0)break;c[f>>2]=e+1;a[e>>0]=q?43:45;c[g>>2]=0;q=0;i=n;return q|0}while(0);q=a[j>>0]|0;if((q&1)==0)j=(q&255)>>>1;else j=c[j+4>>2]|0;if((j|0)!=0?b<<24>>24==h<<24>>24:0){o=c[l>>2]|0;if((o-k|0)>=160){q=0;i=n;return q|0}q=c[g>>2]|0;c[l>>2]=o+4;c[o>>2]=q;c[g>>2]=0;q=0;i=n;return q|0}l=m+26|0;k=m;while(1){if((a[k>>0]|0)==b<<24>>24)break;k=k+1|0;if((k|0)==(l|0)){k=l;break}}m=k-m|0;if((m|0)>23){q=-1;i=n;return q|0}if((d|0)==10|(d|0)==8){if((m|0)>=(d|0)){q=-1;i=n;return q|0}}else if((d|0)==16?(m|0)>=22:0){if(o){q=-1;i=n;return q|0}if((p-e|0)>=3){q=-1;i=n;return q|0}if((a[p+ -1>>0]|0)!=48){q=-1;i=n;return q|0}c[g>>2]=0;q=a[15248+m>>0]|0;c[f>>2]=p+1;a[p>>0]=q;q=0;i=n;return q|0}q=a[15248+m>>0]|0;c[f>>2]=p+1;a[p>>0]=q;c[g>>2]=(c[g>>2]|0)+1;q=0;i=n;return q|0}function Dm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;b=bc(b|0)|0;a=Xr(a,15288,f)|0;if((b|0)==0){i=e;return a|0}bc(b|0)|0;i=e;return a|0}function Em(){var b=0;b=i;if((a[16632]|0)==0?(Ha(16632)|0)!=0:0){c[4156]=sb(2147483647,16640,0)|0;ad(16632)}i=b;return c[4156]|0}function Fm(a){a=a|0;var b=0;b=i;Us(a);i=b;return}function Gm(a){a=a|0;return}function Hm(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=i;i=i+64|0;o=k+8|0;p=k+40|0;m=k+44|0;n=k+48|0;r=k+4|0;q=k;l=k+16|0;if((c[g+4>>2]&1|0)==0){c[m>>2]=-1;l=c[(c[d>>2]|0)+16>>2]|0;c[r>>2]=c[e>>2];c[q>>2]=c[f>>2];c[p+0>>2]=c[r+0>>2];c[o+0>>2]=c[q+0>>2];nd[l&127](n,d,p,o,g,h,m);l=c[n>>2]|0;c[e>>2]=l;e=c[m>>2]|0;if((e|0)==0)a[j>>0]=0;else if((e|0)==1)a[j>>0]=1;else{a[j>>0]=1;c[h>>2]=4}c[b>>2]=l;i=k;return}d=g+28|0;n=c[d>>2]|0;m=n+4|0;c[m>>2]=(c[m>>2]|0)+1;m=Vp(n,16712)|0;r=n+4|0;g=c[r>>2]|0;c[r>>2]=g+ -1;if((g|0)==0)qd[c[(c[n>>2]|0)+8>>2]&255](n);n=c[d>>2]|0;d=n+4|0;c[d>>2]=(c[d>>2]|0)+1;d=Vp(n,16872)|0;r=n+4|0;g=c[r>>2]|0;c[r>>2]=g+ -1;if((g|0)==0)qd[c[(c[n>>2]|0)+8>>2]&255](n);rd[c[(c[d>>2]|0)+24>>2]&127](l,d);g=l+12|0;rd[c[(c[d>>2]|0)+28>>2]&127](g,d);a[j>>0]=(Im(e,c[f>>2]|0,l,l+24|0,m,h,1)|0)==(l|0)&1;c[b>>2]=c[e>>2];if(!((a[g>>0]&1)==0))Us(c[l+20>>2]|0);if((a[l>>0]&1)==0){i=k;return}Us(c[l+8>>2]|0);i=k;return}function Im(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;l=i;i=i+112|0;n=l;s=(f-e|0)/12|0;if(s>>>0>100){m=Ts(s)|0;if((m|0)==0){x=_b(4)|0;c[x>>2]=24928;ed(x|0,24976,117)}else n=m}else m=0;o=(e|0)==(f|0);if(o)r=0;else{p=e;r=0;q=n;while(1){t=a[p>>0]|0;if((t&1)==0)t=(t&255)>>>1;else t=c[p+4>>2]|0;if((t|0)==0){a[q>>0]=2;r=r+1|0;s=s+ -1|0}else a[q>>0]=1;p=p+12|0;if((p|0)==(f|0))break;else q=q+1|0}}p=0;a:while(1){t=(s|0)!=0;q=p;while(1){p=c[b>>2]|0;do if((p|0)!=0){u=c[p+12>>2]|0;if((u|0)==(c[p+16>>2]|0))p=ud[c[(c[p>>2]|0)+36>>2]&127](p)|0;else p=c[u>>2]|0;if((p|0)==-1){c[b>>2]=0;u=1;break}else{u=(c[b>>2]|0)==0;break}}else u=1;while(0);if((d|0)==0){p=0;w=1;d=0}else{p=c[d+12>>2]|0;if((p|0)==(c[d+16>>2]|0))p=ud[c[(c[d>>2]|0)+36>>2]&127](d)|0;else p=c[p>>2]|0;x=(p|0)==-1;p=x?0:d;w=x?1:0;d=x?0:d}v=c[b>>2]|0;if(!((u^w)&t))break a;p=c[v+12>>2]|0;if((p|0)==(c[v+16>>2]|0))u=ud[c[(c[v>>2]|0)+36>>2]&127](v)|0;else u=c[p>>2]|0;if(!j)u=Dd[c[(c[g>>2]|0)+28>>2]&127](g,u)|0;p=q+1|0;if(o)q=p;else{w=0;t=e;v=n;break}}while(1){do if((a[v>>0]|0)==1){if((a[t>>0]&1)==0)x=t+4|0;else x=c[t+8>>2]|0;x=c[x+(q<<2)>>2]|0;if(!j)x=Dd[c[(c[g>>2]|0)+28>>2]&127](g,x)|0;if((u|0)!=(x|0)){a[v>>0]=0;s=s+ -1|0;break}w=a[t>>0]|0;if((w&1)==0)w=(w&255)>>>1;else w=c[t+4>>2]|0;if((w|0)==(p|0)){a[v>>0]=2;w=1;r=r+1|0;s=s+ -1|0}else w=1}while(0);t=t+12|0;if((t|0)==(f|0))break;v=v+1|0}if(!w)continue;u=c[b>>2]|0;q=u+12|0;t=c[q>>2]|0;if((t|0)==(c[u+16>>2]|0))ud[c[(c[u>>2]|0)+40>>2]&127](u)|0;else c[q>>2]=t+4;if((r+s|0)>>>0<2)continue;else{q=e;t=n}while(1){if((a[t>>0]|0)==2){u=a[q>>0]|0;if((u&1)==0)u=(u&255)>>>1;else u=c[q+4>>2]|0;if((u|0)!=(p|0)){a[t>>0]=0;r=r+ -1|0}}q=q+12|0;if((q|0)==(f|0))continue a;else t=t+1|0}}do if((v|0)!=0){j=c[v+12>>2]|0;if((j|0)==(c[v+16>>2]|0))j=ud[c[(c[v>>2]|0)+36>>2]&127](v)|0;else j=c[j>>2]|0;if((j|0)==-1){c[b>>2]=0;b=1;break}else{b=(c[b>>2]|0)==0;break}}else b=1;while(0);if((p|0)!=0){j=c[p+12>>2]|0;if((j|0)==(c[p+16>>2]|0))j=ud[c[(c[p>>2]|0)+36>>2]&127](p)|0;else j=c[j>>2]|0;if(!((j|0)==-1)){if(!b)k=74}else k=72}else k=72;if((k|0)==72?b:0)k=74;if((k|0)==74)c[h>>2]=c[h>>2]|2;b:do if(!o)if((a[n>>0]|0)==2)f=e;else while(1){e=e+12|0;n=n+1|0;if((e|0)==(f|0)){k=79;break b}if((a[n>>0]|0)==2){f=e;break}}else k=79;while(0);if((k|0)==79)c[h>>2]=c[h>>2]|4;if((m|0)==0){i=l;return f|0}Us(m);i=l;return f|0}function Jm(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;m=i;i=i+304|0;s=m+160|0;v=m+280|0;l=m+264|0;d=m+284|0;p=m+300|0;r=m;q=m+276|0;o=m+296|0;u=c[e>>2]|0;w=c[f>>2]|0;f=c[g+4>>2]&74;if((f|0)==64)f=8;else if((f|0)==8)f=16;else if((f|0)==0)f=0;else f=10;Xm(l,g,s,v);c[d+0>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;Ok(d,10);if((a[d>>0]&1)==0){x=d+1|0;t=d+8|0;e=x}else{x=d+8|0;t=x;e=d+1|0;x=c[x>>2]|0}c[p>>2]=x;c[q>>2]=r;c[o>>2]=0;g=d+4|0;v=c[v>>2]|0;while(1){if((u|0)==0){u=0;y=1}else{y=c[u+12>>2]|0;if((y|0)==(c[u+16>>2]|0))y=ud[c[(c[u>>2]|0)+36>>2]&127](u)|0;else y=c[y>>2]|0;y=(y|0)==-1;u=y?0:u;y=y?1:0}if((w|0)!=0){z=c[w+12>>2]|0;if((z|0)==(c[w+16>>2]|0))z=ud[c[(c[w>>2]|0)+36>>2]&127](w)|0;else z=c[z>>2]|0;if(!((z|0)==-1)){if(!y)break}else k=19}else k=19;if((k|0)==19){k=0;if(y){w=0;break}else w=0}A=a[d>>0]|0;y=(A&1)==0;if(y)z=(A&255)>>>1;else z=c[g>>2]|0;if(((c[p>>2]|0)-x|0)==(z|0)){if(y)y=(A&255)>>>1;else y=c[g>>2]|0;Ok(d,y<<1);if((a[d>>0]&1)==0)x=10;else x=(c[d>>2]&-2)+ -1|0;Ok(d,x);if((a[d>>0]&1)==0)x=e;else x=c[t>>2]|0;c[p>>2]=x+y}z=u+12|0;A=c[z>>2]|0;y=u+16|0;if((A|0)==(c[y>>2]|0))A=ud[c[(c[u>>2]|0)+36>>2]&127](u)|0;else A=c[A>>2]|0;if((Tm(A,f,x,p,o,v,l,r,q,s)|0)!=0)break;A=c[z>>2]|0;if((A|0)==(c[y>>2]|0)){ud[c[(c[u>>2]|0)+40>>2]&127](u)|0;continue}else{c[z>>2]=A+4;continue}}s=a[l>>0]|0;if((s&1)==0)s=(s&255)>>>1;else s=c[l+4>>2]|0;if((s|0)!=0?(n=c[q>>2]|0,(n-r|0)<160):0){A=c[o>>2]|0;c[q>>2]=n+4;c[n>>2]=A}c[j>>2]=Kr(x,c[p>>2]|0,h,f)|0;lp(l,r,c[q>>2]|0,h);if((u|0)==0){j=0;n=1}else{j=c[u+12>>2]|0;if((j|0)==(c[u+16>>2]|0))j=ud[c[(c[u>>2]|0)+36>>2]&127](u)|0;else j=c[j>>2]|0;n=(j|0)==-1;j=n?0:u;n=n?1:0}if((w|0)!=0){o=c[w+12>>2]|0;if((o|0)==(c[w+16>>2]|0))o=ud[c[(c[w>>2]|0)+36>>2]&127](w)|0;else o=c[o>>2]|0;if(!((o|0)==-1)){if(!n)k=58}else k=56}else k=56;if((k|0)==56?n:0)k=58;if((k|0)==58)c[h>>2]=c[h>>2]|2;c[b>>2]=j;if(!((a[d>>0]&1)==0))Us(c[d+8>>2]|0);if((a[l>>0]&1)==0){i=m;return}Us(c[l+8>>2]|0);i=m;return}function Km(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;m=i;i=i+304|0;s=m+160|0;v=m+280|0;l=m+264|0;d=m+284|0;p=m+300|0;r=m;q=m+276|0;o=m+296|0;u=c[e>>2]|0;w=c[f>>2]|0;f=c[g+4>>2]&74;if((f|0)==8)f=16;else if((f|0)==0)f=0;else if((f|0)==64)f=8;else f=10;Xm(l,g,s,v);c[d+0>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;Ok(d,10);if((a[d>>0]&1)==0){x=d+1|0;t=d+8|0;e=x}else{x=d+8|0;t=x;e=d+1|0;x=c[x>>2]|0}c[p>>2]=x;c[q>>2]=r;c[o>>2]=0;g=d+4|0;v=c[v>>2]|0;while(1){if((u|0)==0){u=0;y=1}else{y=c[u+12>>2]|0;if((y|0)==(c[u+16>>2]|0))y=ud[c[(c[u>>2]|0)+36>>2]&127](u)|0;else y=c[y>>2]|0;y=(y|0)==-1;u=y?0:u;y=y?1:0}if((w|0)!=0){z=c[w+12>>2]|0;if((z|0)==(c[w+16>>2]|0))z=ud[c[(c[w>>2]|0)+36>>2]&127](w)|0;else z=c[z>>2]|0;if(!((z|0)==-1)){if(!y)break}else k=19}else k=19;if((k|0)==19){k=0;if(y){w=0;break}else w=0}A=a[d>>0]|0;y=(A&1)==0;if(y)z=(A&255)>>>1;else z=c[g>>2]|0;if(((c[p>>2]|0)-x|0)==(z|0)){if(y)y=(A&255)>>>1;else y=c[g>>2]|0;Ok(d,y<<1);if((a[d>>0]&1)==0)x=10;else x=(c[d>>2]&-2)+ -1|0;Ok(d,x);if((a[d>>0]&1)==0)x=e;else x=c[t>>2]|0;c[p>>2]=x+y}z=u+12|0;A=c[z>>2]|0;y=u+16|0;if((A|0)==(c[y>>2]|0))A=ud[c[(c[u>>2]|0)+36>>2]&127](u)|0;else A=c[A>>2]|0;if((Tm(A,f,x,p,o,v,l,r,q,s)|0)!=0)break;A=c[z>>2]|0;if((A|0)==(c[y>>2]|0)){ud[c[(c[u>>2]|0)+40>>2]&127](u)|0;continue}else{c[z>>2]=A+4;continue}}s=a[l>>0]|0;if((s&1)==0)s=(s&255)>>>1;else s=c[l+4>>2]|0;if((s|0)!=0?(n=c[q>>2]|0,(n-r|0)<160):0){A=c[o>>2]|0;c[q>>2]=n+4;c[n>>2]=A}z=Jr(x,c[p>>2]|0,h,f)|0;A=j;c[A>>2]=z;c[A+4>>2]=H;lp(l,r,c[q>>2]|0,h);if((u|0)==0){j=0;n=1}else{j=c[u+12>>2]|0;if((j|0)==(c[u+16>>2]|0))j=ud[c[(c[u>>2]|0)+36>>2]&127](u)|0;else j=c[j>>2]|0;n=(j|0)==-1;j=n?0:u;n=n?1:0}if((w|0)!=0){o=c[w+12>>2]|0;if((o|0)==(c[w+16>>2]|0))o=ud[c[(c[w>>2]|0)+36>>2]&127](w)|0;else o=c[o>>2]|0;if(!((o|0)==-1)){if(!n)k=58}else k=56}else k=56;if((k|0)==56?n:0)k=58;if((k|0)==58)c[h>>2]=c[h>>2]|2;c[b>>2]=j;if(!((a[d>>0]&1)==0))Us(c[d+8>>2]|0);if((a[l>>0]&1)==0){i=m;return}Us(c[l+8>>2]|0);i=m;return}function Lm(d,e,f,g,h,j,k){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;n=i;i=i+304|0;t=n+160|0;w=n+280|0;m=n+264|0;e=n+284|0;q=n+300|0;s=n;r=n+276|0;p=n+296|0;v=c[f>>2]|0;x=c[g>>2]|0;g=c[h+4>>2]&74;if((g|0)==8)g=16;else if((g|0)==0)g=0;else if((g|0)==64)g=8;else g=10;Xm(m,h,t,w);c[e+0>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;Ok(e,10);if((a[e>>0]&1)==0){y=e+1|0;u=e+8|0;f=y}else{y=e+8|0;u=y;f=e+1|0;y=c[y>>2]|0}c[q>>2]=y;c[r>>2]=s;c[p>>2]=0;h=e+4|0;w=c[w>>2]|0;while(1){if((v|0)==0){v=0;z=1}else{z=c[v+12>>2]|0;if((z|0)==(c[v+16>>2]|0))z=ud[c[(c[v>>2]|0)+36>>2]&127](v)|0;else z=c[z>>2]|0;z=(z|0)==-1;v=z?0:v;z=z?1:0}if((x|0)!=0){A=c[x+12>>2]|0;if((A|0)==(c[x+16>>2]|0))A=ud[c[(c[x>>2]|0)+36>>2]&127](x)|0;else A=c[A>>2]|0;if(!((A|0)==-1)){if(!z)break}else l=19}else l=19;if((l|0)==19){l=0;if(z){x=0;break}else x=0}B=a[e>>0]|0;z=(B&1)==0;if(z)A=(B&255)>>>1;else A=c[h>>2]|0;if(((c[q>>2]|0)-y|0)==(A|0)){if(z)z=(B&255)>>>1;else z=c[h>>2]|0;Ok(e,z<<1);if((a[e>>0]&1)==0)y=10;else y=(c[e>>2]&-2)+ -1|0;Ok(e,y);if((a[e>>0]&1)==0)y=f;else y=c[u>>2]|0;c[q>>2]=y+z}A=v+12|0;B=c[A>>2]|0;z=v+16|0;if((B|0)==(c[z>>2]|0))B=ud[c[(c[v>>2]|0)+36>>2]&127](v)|0;else B=c[B>>2]|0;if((Tm(B,g,y,q,p,w,m,s,r,t)|0)!=0)break;B=c[A>>2]|0;if((B|0)==(c[z>>2]|0)){ud[c[(c[v>>2]|0)+40>>2]&127](v)|0;continue}else{c[A>>2]=B+4;continue}}t=a[m>>0]|0;if((t&1)==0)t=(t&255)>>>1;else t=c[m+4>>2]|0;if((t|0)!=0?(o=c[r>>2]|0,(o-s|0)<160):0){B=c[p>>2]|0;c[r>>2]=o+4;c[o>>2]=B}b[k>>1]=Ir(y,c[q>>2]|0,j,g)|0;lp(m,s,c[r>>2]|0,j);if((v|0)==0){k=0;o=1}else{k=c[v+12>>2]|0;if((k|0)==(c[v+16>>2]|0))k=ud[c[(c[v>>2]|0)+36>>2]&127](v)|0;else k=c[k>>2]|0;o=(k|0)==-1;k=o?0:v;o=o?1:0}if((x|0)!=0){p=c[x+12>>2]|0;if((p|0)==(c[x+16>>2]|0))p=ud[c[(c[x>>2]|0)+36>>2]&127](x)|0;else p=c[p>>2]|0;if(!((p|0)==-1)){if(!o)l=58}else l=56}else l=56;if((l|0)==56?o:0)l=58;if((l|0)==58)c[j>>2]=c[j>>2]|2;c[d>>2]=k;if(!((a[e>>0]&1)==0))Us(c[e+8>>2]|0);if((a[m>>0]&1)==0){i=n;return}Us(c[m+8>>2]|0);i=n;return}function Mm(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;m=i;i=i+304|0;s=m+160|0;v=m+280|0;l=m+264|0;d=m+284|0;p=m+300|0;r=m;q=m+276|0;o=m+296|0;u=c[e>>2]|0;w=c[f>>2]|0;f=c[g+4>>2]&74;if((f|0)==8)f=16;else if((f|0)==0)f=0;else if((f|0)==64)f=8;else f=10;Xm(l,g,s,v);c[d+0>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;Ok(d,10);if((a[d>>0]&1)==0){x=d+1|0;t=d+8|0;e=x}else{x=d+8|0;t=x;e=d+1|0;x=c[x>>2]|0}c[p>>2]=x;c[q>>2]=r;c[o>>2]=0;g=d+4|0;v=c[v>>2]|0;while(1){if((u|0)==0){u=0;y=1}else{y=c[u+12>>2]|0;if((y|0)==(c[u+16>>2]|0))y=ud[c[(c[u>>2]|0)+36>>2]&127](u)|0;else y=c[y>>2]|0;y=(y|0)==-1;u=y?0:u;y=y?1:0}if((w|0)!=0){z=c[w+12>>2]|0;if((z|0)==(c[w+16>>2]|0))z=ud[c[(c[w>>2]|0)+36>>2]&127](w)|0;else z=c[z>>2]|0;if(!((z|0)==-1)){if(!y)break}else k=19}else k=19;if((k|0)==19){k=0;if(y){w=0;break}else w=0}A=a[d>>0]|0;y=(A&1)==0;if(y)z=(A&255)>>>1;else z=c[g>>2]|0;if(((c[p>>2]|0)-x|0)==(z|0)){if(y)y=(A&255)>>>1;else y=c[g>>2]|0;Ok(d,y<<1);if((a[d>>0]&1)==0)x=10;else x=(c[d>>2]&-2)+ -1|0;Ok(d,x);if((a[d>>0]&1)==0)x=e;else x=c[t>>2]|0;c[p>>2]=x+y}z=u+12|0;A=c[z>>2]|0;y=u+16|0;if((A|0)==(c[y>>2]|0))A=ud[c[(c[u>>2]|0)+36>>2]&127](u)|0;else A=c[A>>2]|0;if((Tm(A,f,x,p,o,v,l,r,q,s)|0)!=0)break;A=c[z>>2]|0;if((A|0)==(c[y>>2]|0)){ud[c[(c[u>>2]|0)+40>>2]&127](u)|0;continue}else{c[z>>2]=A+4;continue}}s=a[l>>0]|0;if((s&1)==0)s=(s&255)>>>1;else s=c[l+4>>2]|0;if((s|0)!=0?(n=c[q>>2]|0,(n-r|0)<160):0){A=c[o>>2]|0;c[q>>2]=n+4;c[n>>2]=A}c[j>>2]=Hr(x,c[p>>2]|0,h,f)|0;lp(l,r,c[q>>2]|0,h);if((u|0)==0){j=0;n=1}else{j=c[u+12>>2]|0;if((j|0)==(c[u+16>>2]|0))j=ud[c[(c[u>>2]|0)+36>>2]&127](u)|0;else j=c[j>>2]|0;n=(j|0)==-1;j=n?0:u;n=n?1:0}if((w|0)!=0){o=c[w+12>>2]|0;if((o|0)==(c[w+16>>2]|0))o=ud[c[(c[w>>2]|0)+36>>2]&127](w)|0;else o=c[o>>2]|0;if(!((o|0)==-1)){if(!n)k=58}else k=56}else k=56;if((k|0)==56?n:0)k=58;if((k|0)==58)c[h>>2]=c[h>>2]|2;c[b>>2]=j;if(!((a[d>>0]&1)==0))Us(c[d+8>>2]|0);if((a[l>>0]&1)==0){i=m;return}Us(c[l+8>>2]|0);i=m;return}function Nm(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;m=i;i=i+304|0;s=m+160|0;v=m+280|0;l=m+264|0;d=m+284|0;p=m+300|0;r=m;q=m+276|0;o=m+296|0;u=c[e>>2]|0;w=c[f>>2]|0;f=c[g+4>>2]&74;if((f|0)==8)f=16;else if((f|0)==0)f=0;else if((f|0)==64)f=8;else f=10;Xm(l,g,s,v);c[d+0>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;Ok(d,10);if((a[d>>0]&1)==0){x=d+1|0;t=d+8|0;e=x}else{x=d+8|0;t=x;e=d+1|0;x=c[x>>2]|0}c[p>>2]=x;c[q>>2]=r;c[o>>2]=0;g=d+4|0;v=c[v>>2]|0;while(1){if((u|0)==0){u=0;y=1}else{y=c[u+12>>2]|0;if((y|0)==(c[u+16>>2]|0))y=ud[c[(c[u>>2]|0)+36>>2]&127](u)|0;else y=c[y>>2]|0;y=(y|0)==-1;u=y?0:u;y=y?1:0}if((w|0)!=0){z=c[w+12>>2]|0;if((z|0)==(c[w+16>>2]|0))z=ud[c[(c[w>>2]|0)+36>>2]&127](w)|0;else z=c[z>>2]|0;if(!((z|0)==-1)){if(!y)break}else k=19}else k=19;if((k|0)==19){k=0;if(y){w=0;break}else w=0}A=a[d>>0]|0;y=(A&1)==0;if(y)z=(A&255)>>>1;else z=c[g>>2]|0;if(((c[p>>2]|0)-x|0)==(z|0)){if(y)y=(A&255)>>>1;else y=c[g>>2]|0;Ok(d,y<<1);if((a[d>>0]&1)==0)x=10;else x=(c[d>>2]&-2)+ -1|0;Ok(d,x);if((a[d>>0]&1)==0)x=e;else x=c[t>>2]|0;c[p>>2]=x+y}z=u+12|0;A=c[z>>2]|0;y=u+16|0;if((A|0)==(c[y>>2]|0))A=ud[c[(c[u>>2]|0)+36>>2]&127](u)|0;else A=c[A>>2]|0;if((Tm(A,f,x,p,o,v,l,r,q,s)|0)!=0)break;A=c[z>>2]|0;if((A|0)==(c[y>>2]|0)){ud[c[(c[u>>2]|0)+40>>2]&127](u)|0;continue}else{c[z>>2]=A+4;continue}}s=a[l>>0]|0;if((s&1)==0)s=(s&255)>>>1;else s=c[l+4>>2]|0;if((s|0)!=0?(n=c[q>>2]|0,(n-r|0)<160):0){A=c[o>>2]|0;c[q>>2]=n+4;c[n>>2]=A}c[j>>2]=Gr(x,c[p>>2]|0,h,f)|0;lp(l,r,c[q>>2]|0,h);if((u|0)==0){j=0;n=1}else{j=c[u+12>>2]|0;if((j|0)==(c[u+16>>2]|0))j=ud[c[(c[u>>2]|0)+36>>2]&127](u)|0;else j=c[j>>2]|0;n=(j|0)==-1;j=n?0:u;n=n?1:0}if((w|0)!=0){o=c[w+12>>2]|0;if((o|0)==(c[w+16>>2]|0))o=ud[c[(c[w>>2]|0)+36>>2]&127](w)|0;else o=c[o>>2]|0;if(!((o|0)==-1)){if(!n)k=58}else k=56}else k=56;if((k|0)==56?n:0)k=58;if((k|0)==58)c[h>>2]=c[h>>2]|2;c[b>>2]=j;if(!((a[d>>0]&1)==0))Us(c[d+8>>2]|0);if((a[l>>0]&1)==0){i=m;return}Us(c[l+8>>2]|0);i=m;return}function Om(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;m=i;i=i+304|0;s=m+160|0;v=m+280|0;l=m+264|0;d=m+284|0;p=m+300|0;r=m;q=m+276|0;o=m+296|0;u=c[e>>2]|0;w=c[f>>2]|0;f=c[g+4>>2]&74;if((f|0)==64)f=8;else if((f|0)==8)f=16;else if((f|0)==0)f=0;else f=10;Xm(l,g,s,v);c[d+0>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;Ok(d,10);if((a[d>>0]&1)==0){x=d+1|0;t=d+8|0;e=x}else{x=d+8|0;t=x;e=d+1|0;x=c[x>>2]|0}c[p>>2]=x;c[q>>2]=r;c[o>>2]=0;g=d+4|0;v=c[v>>2]|0;while(1){if((u|0)==0){u=0;y=1}else{y=c[u+12>>2]|0;if((y|0)==(c[u+16>>2]|0))y=ud[c[(c[u>>2]|0)+36>>2]&127](u)|0;else y=c[y>>2]|0;y=(y|0)==-1;u=y?0:u;y=y?1:0}if((w|0)!=0){z=c[w+12>>2]|0;if((z|0)==(c[w+16>>2]|0))z=ud[c[(c[w>>2]|0)+36>>2]&127](w)|0;else z=c[z>>2]|0;if(!((z|0)==-1)){if(!y)break}else k=19}else k=19;if((k|0)==19){k=0;if(y){w=0;break}else w=0}A=a[d>>0]|0;y=(A&1)==0;if(y)z=(A&255)>>>1;else z=c[g>>2]|0;if(((c[p>>2]|0)-x|0)==(z|0)){if(y)y=(A&255)>>>1;else y=c[g>>2]|0;Ok(d,y<<1);if((a[d>>0]&1)==0)x=10;else x=(c[d>>2]&-2)+ -1|0;Ok(d,x);if((a[d>>0]&1)==0)x=e;else x=c[t>>2]|0;c[p>>2]=x+y}z=u+12|0;A=c[z>>2]|0;y=u+16|0;if((A|0)==(c[y>>2]|0))A=ud[c[(c[u>>2]|0)+36>>2]&127](u)|0;else A=c[A>>2]|0;if((Tm(A,f,x,p,o,v,l,r,q,s)|0)!=0)break;A=c[z>>2]|0;if((A|0)==(c[y>>2]|0)){ud[c[(c[u>>2]|0)+40>>2]&127](u)|0;continue}else{c[z>>2]=A+4;continue}}s=a[l>>0]|0;if((s&1)==0)s=(s&255)>>>1;else s=c[l+4>>2]|0;if((s|0)!=0?(n=c[q>>2]|0,(n-r|0)<160):0){A=c[o>>2]|0;c[q>>2]=n+4;c[n>>2]=A}z=Fr(x,c[p>>2]|0,h,f)|0;A=j;c[A>>2]=z;c[A+4>>2]=H;lp(l,r,c[q>>2]|0,h);if((u|0)==0){j=0;n=1}else{j=c[u+12>>2]|0;if((j|0)==(c[u+16>>2]|0))j=ud[c[(c[u>>2]|0)+36>>2]&127](u)|0;else j=c[j>>2]|0;n=(j|0)==-1;j=n?0:u;n=n?1:0}if((w|0)!=0){o=c[w+12>>2]|0;if((o|0)==(c[w+16>>2]|0))o=ud[c[(c[w>>2]|0)+36>>2]&127](w)|0;else o=c[o>>2]|0;if(!((o|0)==-1)){if(!n)k=58}else k=56}else k=56;if((k|0)==56?n:0)k=58;if((k|0)==58)c[h>>2]=c[h>>2]|2;c[b>>2]=j;if(!((a[d>>0]&1)==0))Us(c[d+8>>2]|0);if((a[l>>0]&1)==0){i=m;return}Us(c[l+8>>2]|0);i=m;return}
function lf(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;h=i;e=da(c[e+28>>2]|0,c[e+36>>2]|0)|0;j=b+276|0;pf(f,c[j>>2]|0,c[b+28>>2]|0,e<<1);k=0;while(1){if((k|0)>=(c[j>>2]|0))break;n=0;m=c[f+(k<<2)>>2]|0;l=c[g+(k<<2)>>2]|0;b=0;while(1){if(!(b>>>0<e>>>0))break;a[l>>0]=((d[m>>0]|0)+(d[m+1>>0]|0)+n|0)>>>1;n=n^1;m=m+2|0;l=l+1|0;b=b+1|0}k=k+1|0}i=h;return}function mf(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;h=i;k=da(c[e+28>>2]|0,c[e+36>>2]|0)|0;e=b+276|0;pf(f+ -4|0,(c[e>>2]|0)+2|0,c[b+28>>2]|0,k<<1);j=c[b+228>>2]|0;b=(da(j,-80)|0)+16384|0;j=j<<4;k=k+ -2|0;o=0;l=0;while(1){if((o|0)>=(c[e>>2]|0))break;t=c[g+(l<<2)>>2]|0;z=c[f+(o<<2)>>2]|0;s=c[f+((o|1)<<2)>>2]|0;u=c[f+(o+ -1<<2)>>2]|0;o=o+2|0;v=c[f+(o<<2)>>2]|0;w=d[z>>0]|0;x=d[s>>0]|0;y=d[u>>0]|0;q=d[v>>0]|0;n=z+2|0;p=s+2|0;m=u+2|0;r=v+2|0;a[t>>0]=((da(w+(d[z+1>>0]|0)+x+(d[s+1>>0]|0)|0,b)|0)+(da((y+(d[u+1>>0]|0)+q+(d[v+1>>0]|0)+w+(d[n>>0]|0)+x+(d[p>>0]|0)<<1)+(y+(d[m>>0]|0)+q+(d[r>>0]|0))|0,j)|0)+32768|0)>>>16;q=k;while(1){t=t+1|0;y=d[n+1>>0]|0;x=d[p+1>>0]|0;w=(d[n>>0]|0)+y+(d[p>>0]|0)+x|0;v=d[m+1>>0]|0;u=d[r+1>>0]|0;s=(d[m>>0]|0)+v+(d[r>>0]|0)+u+(d[n+ -1>>0]|0)|0;if((q|0)==0)break;y=n+2|0;z=p+2|0;v=m+2|0;x=r+2|0;a[t>>0]=((da(w,b)|0)+(da((s+(d[y>>0]|0)+(d[p+ -1>>0]|0)+(d[z>>0]|0)<<1)+((d[m+ -1>>0]|0)+(d[v>>0]|0)+(d[r+ -1>>0]|0)+(d[x>>0]|0))|0,j)|0)+32768|0)>>>16;m=v;r=x;n=y;p=z;q=q+ -1|0}a[t>>0]=((da(w,b)|0)+(da((s+y+(d[p+ -1>>0]|0)+x<<1)+((d[m+ -1>>0]|0)+v+(d[r+ -1>>0]|0)+u)|0,j)|0)+32768|0)>>>16;l=l+1|0}i=h;return}function nf(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;h=i;e=da(c[e+28>>2]|0,c[e+36>>2]|0)|0;j=b+276|0;pf(f,c[j>>2]|0,c[b+28>>2]|0,e<<1);l=0;b=0;while(1){if((l|0)>=(c[j>>2]|0))break;p=1;n=c[f+(l<<2)>>2]|0;o=c[f+((l|1)<<2)>>2]|0;m=c[g+(b<<2)>>2]|0;k=0;while(1){if(!(k>>>0<e>>>0))break;a[m>>0]=((d[n>>0]|0)+(d[n+1>>0]|0)+(d[o>>0]|0)+(d[o+1>>0]|0)+p|0)>>>2;p=p^3;n=n+2|0;o=o+2|0;m=m+1|0;k=k+1|0}l=l+2|0;b=b+1|0}i=h;return}function of(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;j=i;k=c[b+416>>2]|0;h=da(c[e+28>>2]|0,c[e+36>>2]|0)|0;n=c[e+4>>2]|0;l=d[k+n+92>>0]|0;n=d[k+n+102>>0]|0;k=da(l,n)|0;e=k>>>1;m=b+276|0;pf(f,c[m>>2]|0,c[b+28>>2]|0,da(h,l)|0);p=0;o=0;while(1){if((p|0)>=(c[m>>2]|0))break;r=0;q=c[g+(o<<2)>>2]|0;s=0;while(1){if(r>>>0<h>>>0){u=0;t=0}else break;while(1){if((t|0)>=(n|0))break;b=(c[f+(p+t<<2)>>2]|0)+s|0;v=0;while(1){if((v|0)>=(l|0))break;w=u+(d[b>>0]|0)|0;b=b+1|0;u=w;v=v+1|0}t=t+1|0}a[q>>0]=(u+e|0)/(k|0)|0;r=r+1|0;q=q+1|0;s=s+l|0}p=p+n|0;o=o+1|0}i=j;return}function pf(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;f=f-e|0;if((f|0)<=0){i=g;return}j=e+ -1|0;k=0;while(1){if((k|0)>=(d|0))break;m=c[b+(k<<2)>>2]|0;l=a[m+j>>0]|0;m=m+e|0;h=f;while(1){if((h|0)<=0)break;a[m>>0]=l;m=m+1|0;h=h+ -1|0}k=k+1|0}i=g;return}function qf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;d=i;e=a+20|0;f=c[e>>2]|0;do if((f|0)==202){Hg(a);if((c[a+64>>2]|0)==0){c[e>>2]=203;b=6;break}c[e>>2]=207;m=1;i=d;return m|0}else{if((f|0)==203){b=6;break}else if((f|0)==204)break;c[(c[a>>2]|0)+20>>2]=21;c[(c[a>>2]|0)+24>>2]=c[e>>2];qd[c[c[a>>2]>>2]&255](a)}while(0);if((b|0)==6){g=a+460|0;a:do if((c[(c[g>>2]|0)+16>>2]|0)!=0){f=a+8|0;h=a+332|0;b:while(1){l=c[f>>2]|0;while(1){if((l|0)!=0)qd[c[l>>2]&255](a);j=ud[c[c[g>>2]>>2]&127](a)|0;if((j|0)==2)break a;else if((j|0)==0){a=0;break b}l=c[f>>2]|0;if((l|0)==0)continue;if(!((j|0)==1|(j|0)==3))continue b;l=l+4|0;m=(c[l>>2]|0)+1|0;c[l>>2]=m;l=c[f>>2]|0;k=l+8|0;j=c[k>>2]|0;if((m|0)>=(j|0))break}c[k>>2]=j+(c[h>>2]|0)}i=d;return a|0}while(0);c[a+152>>2]=c[a+144>>2]}f=a+444|0;if((c[e>>2]|0)==204)g=a+140|0;else{qd[c[c[f>>2]>>2]&255](a);g=a+140|0;c[g>>2]=0;c[e>>2]=204}l=a+116|0;k=a+8|0;h=a+448|0;c:while(1){if((c[(c[f>>2]|0)+8>>2]|0)==0)break;j=c[g>>2]|0;while(1){if(!(j>>>0<(c[l>>2]|0)>>>0))break;m=c[k>>2]|0;if((m|0)==0)m=j;else{c[m+4>>2]=j;c[(c[k>>2]|0)+8>>2]=c[l>>2];qd[c[c[k>>2]>>2]&255](a);m=c[g>>2]|0}Fd[c[(c[h>>2]|0)+4>>2]&63](a,0,g,0);j=c[g>>2]|0;if((j|0)==(m|0)){a=0;b=30;break c}}qd[c[(c[f>>2]|0)+4>>2]&255](a);qd[c[c[f>>2]>>2]&255](a);c[g>>2]=0}if((b|0)==30){i=d;return a|0}c[e>>2]=(c[a+68>>2]|0)!=0?206:205;m=1;i=d;return m|0}function rf(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0;f=i;i=i+16|0;e=f;g=a+20|0;if((c[g>>2]|0)!=205){c[(c[a>>2]|0)+20>>2]=21;c[(c[a>>2]|0)+24>>2]=c[g>>2];qd[c[c[a>>2]>>2]&255](a)}g=a+140|0;h=c[g>>2]|0;j=a+116|0;if(!(h>>>0<(c[j>>2]|0)>>>0)){c[(c[a>>2]|0)+20>>2]=126;rd[c[(c[a>>2]|0)+4>>2]&127](a,-1);l=0;i=f;return l|0}k=a+8|0;l=c[k>>2]|0;if((l|0)!=0){c[l+4>>2]=h;c[(c[k>>2]|0)+8>>2]=c[j>>2];qd[c[c[k>>2]>>2]&255](a)}c[e>>2]=0;Fd[c[(c[a+448>>2]|0)+4>>2]&63](a,b,e,d);l=c[e>>2]|0;c[g>>2]=(c[g>>2]|0)+l;i=f;return l|0}function sf(b){b=b|0;var d=0,e=0,f=0,g=0;d=i;f=b+4|0;e=md[c[c[f>>2]>>2]&63](b,1,192)|0;c[b+468>>2]=e;c[e>>2]=149;c[e+8>>2]=150;g=0;while(1){if((g|0)>=16)break;c[e+(g<<2)+60>>2]=0;c[e+(g<<2)+124>>2]=0;g=g+1|0}a[e+188>>0]=113;if((c[b+224>>2]|0)==0){i=d;return}e=b+36|0;f=md[c[c[f>>2]>>2]&63](b,1,c[e>>2]<<8)|0;c[b+160>>2]=f;b=0;while(1){if((b|0)<(c[e>>2]|0))g=0;else break;while(1){if((g|0)>=64)break;c[f>>2]=-1;f=f+4|0;g=g+1|0}b=b+1|0}i=d;return}function tf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;f=i;e=c[b+468>>2]|0;d=b+224|0;l=b+412|0;h=c[l>>2]|0;g=(h|0)==0;do if((c[d>>2]|0)!=0){j=c[b+416>>2]|0;if(g)if((j|0)==0)k=7;else k=12;else if(((j|0)>=(h|0)?(j|0)<=(c[b+436>>2]|0):0)?(c[b+340>>2]|0)==1:0)k=7;else k=12;do if((k|0)==7){g=c[b+420>>2]|0;if((g|0)!=0){g=g+ -1|0;if((g|0)!=(c[b+424>>2]|0)){k=12;break}}else g=c[b+424>>2]|0;if((g|0)>13)k=12;else{g=b;m=b+416|0;o=b}}while(0);if((k|0)==12){c[(c[b>>2]|0)+20>>2]=17;c[(c[b>>2]|0)+24>>2]=c[l>>2];m=b+416|0;c[(c[b>>2]|0)+28>>2]=c[m>>2];c[(c[b>>2]|0)+32>>2]=c[b+420>>2];c[(c[b>>2]|0)+36>>2]=c[b+424>>2];qd[c[c[b>>2]>>2]&255](b);g=b;o=b}j=b+340|0;k=b+160|0;h=b+420|0;n=b+424|0;p=0;while(1){if((p|0)>=(c[j>>2]|0))break;r=c[(c[b+(p<<2)+344>>2]|0)+4>>2]|0;q=c[k>>2]|0;s=c[l>>2]|0;if((s|0)!=0){if((c[q+(r<<8)>>2]|0)<0){c[(c[o>>2]|0)+20>>2]=118;c[(c[o>>2]|0)+24>>2]=r;c[(c[o>>2]|0)+28>>2]=0;rd[c[(c[o>>2]|0)+4>>2]&127](g,-1);s=c[l>>2]|0}}else s=0;while(1){if((s|0)>(c[m>>2]|0))break;t=q+(r<<8)+(s<<2)|0;u=c[t>>2]|0;if((c[h>>2]|0)!=(((u|0)<0?0:u)|0)){c[(c[o>>2]|0)+20>>2]=118;c[(c[o>>2]|0)+24>>2]=r;c[(c[o>>2]|0)+28>>2]=s;rd[c[(c[o>>2]|0)+4>>2]&127](g,-1)}c[t>>2]=c[n>>2];s=s+1|0}p=p+1|0}l=(c[l>>2]|0)==0;k=e+4|0;if((c[h>>2]|0)==0)if(l){c[k>>2]=50;break}else{c[k>>2]=51;break}else if(l){c[k>>2]=52;break}else{c[k>>2]=53;break}}else{h=b+420|0;if((g?(c[h>>2]|0)==0:0)?(c[b+424>>2]|0)==0:0){u=c[b+416>>2]|0;if((u|0)<64?(u|0)!=(c[b+436>>2]|0):0)k=35}else k=35;if((k|0)==35){c[(c[b>>2]|0)+20>>2]=125;rd[c[(c[b>>2]|0)+4>>2]&127](b,-1)}c[e+4>>2]=54;g=b;j=b+340|0;o=b}while(0);p=b+4|0;m=b+436|0;l=b+412|0;n=0;while(1){if((n|0)>=(c[j>>2]|0))break;q=c[b+(n<<2)+344>>2]|0;r=c[d>>2]|0;do if((r|0)!=0)if((c[l>>2]|0)==0)if((c[h>>2]|0)==0){k=42;break}else{k=47;break}else{k=50;break}else k=42;while(0);if((k|0)==42){k=c[q+20>>2]|0;if((k|0)<0|(k|0)>15){c[(c[o>>2]|0)+20>>2]=50;c[(c[o>>2]|0)+24>>2]=k;qd[c[c[o>>2]>>2]&255](g)}k=e+(k<<2)+60|0;r=c[k>>2]|0;if((r|0)==0){r=md[c[c[p>>2]>>2]&63](g,1,64)|0;c[k>>2]=r}k=r+0|0;r=k+64|0;do{a[k>>0]=0;k=k+1|0}while((k|0)<(r|0));c[e+(n<<2)+24>>2]=0;c[e+(n<<2)+40>>2]=0;r=c[d>>2]|0;k=47}if((k|0)==47){k=0;if((r|0)==0){if((c[m>>2]|0)!=0)k=51}else k=50}if((k|0)==50?(k=0,(c[l>>2]|0)!=0):0)k=51;if((k|0)==51){k=c[q+24>>2]|0;if((k|0)<0|(k|0)>15){c[(c[o>>2]|0)+20>>2]=50;c[(c[o>>2]|0)+24>>2]=k;qd[c[c[o>>2]>>2]&255](g)}q=e+(k<<2)+124|0;k=c[q>>2]|0;if((k|0)==0){k=md[c[c[p>>2]>>2]&63](g,1,256)|0;c[q>>2]=k}st(k|0,0,256)|0}n=n+1|0}c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=-16;c[e+56>>2]=c[b+280>>2];i=f;return}function uf(a){a=a|0;return}function vf(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;f=i;h=c[a+468>>2]|0;if((c[a+280>>2]|0)!=0){j=h+56|0;k=c[j>>2]|0;if((k|0)==0){Af(a);k=c[j>>2]|0}c[j>>2]=k+ -1}j=h+20|0;if((c[j>>2]|0)==-1){i=f;return 1}k=a+368|0;l=a+424|0;m=0;a:while(1){if((m|0)>=(c[k>>2]|0)){g=28;break}n=c[e+(m<<2)>>2]|0;p=c[a+(m<<2)+372>>2]|0;r=c[(c[a+(p<<2)+344>>2]|0)+20>>2]|0;t=h+(r<<2)+60|0;u=c[t>>2]|0;q=h+(p<<2)+40|0;s=c[q>>2]|0;if((Bf(a,u+s|0)|0)==0){c[q>>2]=0;o=c[h+(p<<2)+24>>2]|0}else{o=Bf(a,u+(s+1)|0)|0;u=u+(s+(o+2))|0;s=Bf(a,u)|0;b:do if((s|0)==0)s=0;else{u=(c[t>>2]|0)+20|0;while(1){if((Bf(a,u)|0)==0)break b;s=s<<1;if((s|0)==32768)break a;u=u+1|0}}while(0);do if((s|0)>=(1<<(d[a+r+232>>0]|0)>>1|0)){t=o<<2;if((s|0)>(1<<(d[a+r+248>>0]|0)>>1|0)){c[q>>2]=t+12;break}else{c[q>>2]=t+4;break}}else c[q>>2]=0;while(0);r=u+14|0;q=s;c:while(1){t=q;do{t=t>>1;if((t|0)==0)break c}while((Bf(a,r)|0)==0);q=t;s=s|t}u=h+(p<<2)+24|0;o=(c[u>>2]|0)+((o|0)==0?s+1|0:~s)|0;c[u>>2]=o}b[n>>1]=o<<c[l>>2];m=m+1|0}if((g|0)==28){i=f;return 1}c[(c[a>>2]|0)+20>>2]=117;rd[c[(c[a>>2]|0)+4>>2]&127](a,-1);c[j>>2]=-1;i=f;return 1}function wf(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;f=i;l=c[a+468>>2]|0;if((c[a+280>>2]|0)!=0){g=l+56|0;h=c[g>>2]|0;if((h|0)==0){Af(a);h=c[g>>2]|0}c[g>>2]=h+ -1}g=l+20|0;if((c[g>>2]|0)==-1){i=f;return 1}h=c[a+432>>2]|0;k=c[e>>2]|0;m=c[(c[a+344>>2]|0)+24>>2]|0;j=l+(m<<2)+124|0;e=a+416|0;n=l+188|0;l=a+424|0;m=a+m+264|0;p=(c[a+412>>2]|0)+ -1|0;a:while(1){q=(c[j>>2]|0)+(p*3|0)|0;if((Bf(a,q)|0)==0)r=p;else{h=24;break}while(1){p=r+1|0;if((Bf(a,q+1|0)|0)!=0)break;if((p|0)<(c[e>>2]|0)){r=p;q=q+3|0}else{h=10;break a}}o=Bf(a,n)|0;s=q+2|0;q=Bf(a,s)|0;b:do if((q|0)!=0)if((Bf(a,s)|0)==0)r=s;else{q=q<<1;r=(c[j>>2]|0)+((r|0)<(d[m>>0]|0|0)?189:217)|0;while(1){if((Bf(a,r)|0)==0)break b;q=q<<1;if((q|0)==32768){h=16;break a}r=r+1|0}}else{q=0;r=s}while(0);r=r+14|0;s=q;c:while(1){t=s;do{t=t>>1;if((t|0)==0)break c}while((Bf(a,r)|0)==0);s=t;q=q|t}b[k+(c[h+(p<<2)>>2]<<1)>>1]=((o|0)==0?q+1|0:~q)<<c[l>>2];if((p|0)>=(c[e>>2]|0)){h=24;break}}if((h|0)==10){c[(c[a>>2]|0)+20>>2]=117;rd[c[(c[a>>2]|0)+4>>2]&127](a,-1);c[g>>2]=-1;i=f;return 1}else if((h|0)==16){c[(c[a>>2]|0)+20>>2]=117;rd[c[(c[a>>2]|0)+4>>2]&127](a,-1);c[g>>2]=-1;i=f;return 1}else if((h|0)==24){i=f;return 1}return 0}function xf(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;g=c[a+468>>2]|0;if((c[a+280>>2]|0)!=0){h=g+56|0;j=c[h>>2]|0;if((j|0)==0){Af(a);j=c[h>>2]|0}c[h>>2]=j+ -1}h=g+188|0;g=1<<c[a+424>>2];j=a+368|0;k=0;while(1){if((k|0)>=(c[j>>2]|0))break;if((Bf(a,h)|0)!=0){l=c[d+(k<<2)>>2]|0;b[l>>1]=e[l>>1]|0|g}k=k+1|0}i=f;return 1}function yf(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=i;n=c[a+468>>2]|0;if((c[a+280>>2]|0)!=0){f=n+56|0;g=c[f>>2]|0;if((g|0)==0){Af(a);g=c[f>>2]|0}c[f>>2]=g+ -1}g=n+20|0;if((c[g>>2]|0)==-1){i=e;return 1}f=c[a+432>>2]|0;k=c[d>>2]|0;m=c[(c[a+344>>2]|0)+24>>2]|0;h=c[a+424>>2]|0;d=1<<h;h=-1<<h;j=a+416|0;l=c[j>>2]|0;while(1){if((b[k+(c[f+(l<<2)>>2]<<1)>>1]|0)!=0)break;l=l+ -1|0;if((l|0)==0){l=0;break}}m=n+(m<<2)+124|0;p=n+188|0;n=d&65535;o=h&65535;q=(c[a+412>>2]|0)+ -1|0;a:while(1){t=(c[m>>2]|0)+(q*3|0)|0;if((q|0)>=(l|0)?(Bf(a,t)|0)!=0:0){s=24;break}while(1){q=q+1|0;r=k+(c[f+(q<<2)>>2]<<1)|0;if((b[r>>1]|0)!=0){s=13;break}if((Bf(a,t+1|0)|0)!=0){s=18;break}if((q|0)>=(c[j>>2]|0)){s=22;break a}else t=t+3|0}do if((s|0)==13){if((Bf(a,t+2|0)|0)!=0){t=b[r>>1]|0;s=t&65535;if(t<<16>>16<0){b[r>>1]=s+h;break}else{b[r>>1]=s+d;break}}}else if((s|0)==18)if((Bf(a,p)|0)==0){b[r>>1]=n;break}else{b[r>>1]=o;break}while(0);if((q|0)>=(c[j>>2]|0)){s=24;break}}if((s|0)==22){c[(c[a>>2]|0)+20>>2]=117;rd[c[(c[a>>2]|0)+4>>2]&127](a,-1);c[g>>2]=-1;i=e;return 1}else if((s|0)==24){i=e;return 1}return 0}function zf(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;f=i;g=c[a+468>>2]|0;if((c[a+280>>2]|0)!=0){h=g+56|0;j=c[h>>2]|0;if((j|0)==0){Af(a);j=c[h>>2]|0}c[h>>2]=j+ -1}h=g+20|0;if((c[h>>2]|0)==-1){i=f;return 1}l=c[a+432>>2]|0;j=a+368|0;m=a+436|0;n=g+188|0;k=0;a:while(1){if((k|0)>=(c[j>>2]|0)){e=47;break}o=c[e+(k<<2)>>2]|0;q=c[a+(k<<2)+372>>2]|0;p=c[a+(q<<2)+344>>2]|0;t=c[p+20>>2]|0;v=g+(t<<2)+60|0;u=c[v>>2]|0;s=g+(q<<2)+40|0;w=c[s>>2]|0;if((Bf(a,u+w|0)|0)==0){c[s>>2]=0;q=c[g+(q<<2)+24>>2]|0}else{r=Bf(a,u+(w+1)|0)|0;w=u+(w+(r+2))|0;u=Bf(a,w)|0;b:do if((u|0)==0)u=0;else{w=(c[v>>2]|0)+20|0;while(1){if((Bf(a,w)|0)==0)break b;u=u<<1;if((u|0)==32768){e=14;break a}w=w+1|0}}while(0);do if((u|0)>=(1<<(d[a+t+232>>0]|0)>>1|0)){v=r<<2;if((u|0)>(1<<(d[a+t+248>>0]|0)>>1|0)){c[s>>2]=v+12;break}else{c[s>>2]=v+4;break}}else c[s>>2]=0;while(0);s=w+14|0;t=u;v=u;c:while(1){u=t;do{u=u>>1;if((u|0)==0)break c}while((Bf(a,s)|0)==0);t=u;v=v|u}w=g+(q<<2)+24|0;q=(c[w>>2]|0)+((r|0)==0?v+1|0:~v)|0;c[w>>2]=q}b[o>>1]=q;d:do if((c[m>>2]|0)!=0){p=c[p+24>>2]|0;q=g+(p<<2)+124|0;p=a+p+264|0;r=0;do{t=(c[q>>2]|0)+(r*3|0)|0;if((Bf(a,t)|0)==0)u=r;else break d;while(1){r=u+1|0;if((Bf(a,t+1|0)|0)!=0)break;if((r|0)<(c[m>>2]|0)){u=r;t=t+3|0}else{e=32;break a}}s=Bf(a,n)|0;v=t+2|0;t=Bf(a,v)|0;e:do if((t|0)!=0)if((Bf(a,v)|0)==0)u=v;else{t=t<<1;u=(c[q>>2]|0)+((u|0)<(d[p>>0]|0|0)?189:217)|0;while(1){if((Bf(a,u)|0)==0)break e;t=t<<1;if((t|0)==32768){e=38;break a}u=u+1|0}}else{t=0;u=v}while(0);v=u+14|0;u=t;f:while(1){w=u;do{w=w>>1;if((w|0)==0)break f}while((Bf(a,v)|0)==0);u=w;t=t|w}b[o+(c[l+(r<<2)>>2]<<1)>>1]=(s|0)==0?t+1|0:~t}while((r|0)<(c[m>>2]|0))}while(0);k=k+1|0}if((e|0)==14){c[(c[a>>2]|0)+20>>2]=117;rd[c[(c[a>>2]|0)+4>>2]&127](a,-1);c[h>>2]=-1;i=f;return 1}else if((e|0)==32){c[(c[a>>2]|0)+20>>2]=117;rd[c[(c[a>>2]|0)+4>>2]&127](a,-1);c[h>>2]=-1;i=f;return 1}else if((e|0)==38){c[(c[a>>2]|0)+20>>2]=117;rd[c[(c[a>>2]|0)+4>>2]&127](a,-1);c[h>>2]=-1;i=f;return 1}else if((e|0)==47){i=f;return 1}return 0}function Af(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;e=i;k=c[b+468>>2]|0;if((ud[c[(c[b+464>>2]|0)+8>>2]&127](b)|0)==0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}d=b+340|0;g=b+224|0;l=b+436|0;j=b+412|0;h=b+420|0;f=0;while(1){if((f|0)>=(c[d>>2]|0))break;m=c[b+(f<<2)+344>>2]|0;o=c[g>>2]|0;do if((o|0)!=0)if((c[j>>2]|0)==0)if((c[h>>2]|0)==0){n=8;break}else{n=9;break}else{n=12;break}else n=8;while(0);if((n|0)==8){o=(c[k+(c[m+20>>2]<<2)+60>>2]|0)+0|0;n=o+64|0;do{a[o>>0]=0;o=o+1|0}while((o|0)<(n|0));c[k+(f<<2)+24>>2]=0;c[k+(f<<2)+40>>2]=0;o=c[g>>2]|0;n=9}if((n|0)==9){n=0;if((o|0)==0){if((c[l>>2]|0)!=0)n=13}else n=12}if((n|0)==12?(n=0,(c[j>>2]|0)!=0):0)n=13;if((n|0)==13)st(c[k+(c[m+24>>2]<<2)+124>>2]|0,0,256)|0;f=f+1|0}c[k+12>>2]=0;c[k+16>>2]=0;c[k+20>>2]=-16;c[k+56>>2]=c[b+280>>2];i=e;return}function Bf(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;f=i;h=c[b+468>>2]|0;g=h+16|0;j=h+20|0;l=b+440|0;k=b+24|0;h=h+12|0;n=c[g>>2]|0;while(1){if((n|0)>=32768)break;o=c[j>>2]|0;c[j>>2]=o+ -1;if((o|0)<1){a:do if((c[l>>2]|0)==0){n=c[k>>2]|0;m=n+4|0;if((c[m>>2]|0)==0?(ud[c[n+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}c[m>>2]=(c[m>>2]|0)+ -1;m=c[n>>2]|0;c[n>>2]=m+1;m=a[m>>0]|0;if(!(m<<24>>24==-1)){m=m&255;break}while(1){n=c[k>>2]|0;m=n+4|0;if((c[m>>2]|0)==0?(ud[c[n+12>>2]&127](b)|0)==0:0){c[(c[b>>2]|0)+20>>2]=25;qd[c[c[b>>2]>>2]&255](b)}c[m>>2]=(c[m>>2]|0)+ -1;m=c[n>>2]|0;c[n>>2]=m+1;n=a[m>>0]|0;m=n&255;if(n<<24>>24==0){m=255;break a}else if(!(n<<24>>24==-1))break}c[l>>2]=m;m=0}else m=0;while(0);c[h>>2]=c[h>>2]<<8|m;m=c[j>>2]|0;o=m+8|0;c[j>>2]=o;if((o|0)<0?(o=m+9|0,c[j>>2]=o,(o|0)==0):0)c[g>>2]=32768}n=c[g>>2]<<1;c[g>>2]=n}k=d[e>>0]|0;b=c[8+((k&127)<<2)>>2]|0;l=b>>>8;m=b>>16;n=n-m|0;c[g>>2]=n;o=n<<c[j>>2];j=c[h>>2]|0;if((j|0)>=(o|0)){c[h>>2]=j-o;c[g>>2]=m;g=k&128;if((n|0)<(m|0)){a[e>>0]=g^l;o=k;o=o>>7;i=f;return o|0}else{a[e>>0]=g^b;o=k^128;o=o>>7;i=f;return o|0}}if((n|0)>=32768){o=k;o=o>>7;i=f;return o|0}g=k&128;if((n|0)<(m|0)){a[e>>0]=g^b;o=k^128;o=o>>7;i=f;return o|0}else{a[e>>0]=g^l;o=k;o=o>>7;i=f;return o|0}return 0}function Cf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;d=i;f=a+4|0;e=md[c[c[f>>2]>>2]&63](a,1,116)|0;c[a+452>>2]=e;c[e>>2]=151;c[e+8>>2]=152;c[e+112>>2]=0;if((b|0)==0){f=md[c[(c[f>>2]|0)+4>>2]&63](a,1,1280)|0;b=0;while(1){if((b|0)>=10)break;c[e+(b<<2)+32>>2]=f+(b<<7);b=b+1|0}if((c[a+436>>2]|0)==0)st(f|0,0,1280)|0;c[e+4>>2]=86;c[e+12>>2]=56;c[e+16>>2]=0;i=d;return}else{k=a+36|0;j=a+224|0;g=0;l=c[a+216>>2]|0;while(1){if((g|0)>=(c[k>>2]|0))break;b=c[l+12>>2]|0;if((c[j>>2]|0)==0)h=b;else h=b*3|0;n=c[l+8>>2]|0;o=n+ -1+(c[l+28>>2]|0)|0;m=b+ -1+(c[l+32>>2]|0)|0;c[e+(g<<2)+72>>2]=sd[c[(c[f>>2]|0)+20>>2]&31](a,1,1,o-((o|0)%(n|0)|0)|0,m-((m|0)%(b|0)|0)|0,h)|0;g=g+1|0;l=l+88|0}c[e+4>>2]=85;c[e+12>>2]=55;c[e+16>>2]=e+72;i=d;return}}function Df(a){a=a|0;var b=0,d=0,e=0;b=i;c[a+148>>2]=0;d=c[a+452>>2]|0;do if((c[a+340>>2]|0)<=1){e=c[a+344>>2]|0;if((c[a+332>>2]|0)==1){c[d+28>>2]=c[e+76>>2];break}else{c[d+28>>2]=c[e+12>>2];break}}else c[d+28>>2]=1;while(0);c[d+20>>2]=0;c[d+24>>2]=0;i=b;return}function Ef(a){a=a|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;e=i;d=c[a+452>>2]|0;if((c[d+16>>2]|0)==0){n=a+156|0;c[n>>2]=0;i=e;return}a:do if(((c[a+80>>2]|0)!=0?(c[a+224>>2]|0)!=0:0)?(f=a+160|0,(c[f>>2]|0)!=0):0){g=d+112|0;k=c[g>>2]|0;if((k|0)==0){n=a+36|0;k=md[c[c[a+4>>2]>>2]&63](a,1,(c[n>>2]|0)*24|0)|0;c[g>>2]=k;g=n}else g=a+36|0;h=0;n=0;j=c[a+216>>2]|0;while(1){if((h|0)>=(c[g>>2]|0))break;l=c[j+80>>2]|0;if((l|0)==0)break a;if((b[l>>1]|0)==0)break a;if((b[l+2>>1]|0)==0)break a;if((b[l+16>>1]|0)==0)break a;if((b[l+32>>1]|0)==0)break a;if((b[l+18>>1]|0)==0)break a;if((b[l+4>>1]|0)==0)break a;l=c[f>>2]|0;if((c[l+(h<<8)>>2]|0)<0)break a;else m=1;while(1){if((m|0)>=6)break;o=l+(h<<8)+(m<<2)|0;c[k+(m<<2)>>2]=c[o>>2];n=(c[o>>2]|0)==0?n:1;m=m+1|0}h=h+1|0;k=k+24|0;j=j+88|0}if((n|0)!=0){c[d+12>>2]=57;o=a+156|0;c[o>>2]=0;i=e;return}}while(0);c[d+12>>2]=55;o=a+156|0;c[o>>2]=0;i=e;return}function Ff(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;b=i;i=i+16|0;g=b;e=a+452|0;h=c[e>>2]|0;d=a+340|0;k=a+4|0;f=a+148|0;l=0;while(1){if((l|0)>=(c[d>>2]|0))break;z=c[a+(l<<2)+344>>2]|0;B=c[z+12>>2]|0;A=da(c[f>>2]|0,B)|0;c[g+(l<<2)>>2]=Ed[c[(c[k>>2]|0)+32>>2]&63](a,c[h+(c[z+4>>2]<<2)+72>>2]|0,A,B,1)|0;l=l+1|0}n=h+24|0;s=h+28|0;o=h+20|0;r=a+360|0;p=a+468|0;q=h+32|0;m=c[n>>2]|0;a:while(1){if((m|0)>=(c[s>>2]|0))break;l=c[o>>2]|0;while(1){if(l>>>0<(c[r>>2]|0)>>>0){y=0;u=0}else break;while(1){if((u|0)>=(c[d>>2]|0))break;k=c[a+(u<<2)+344>>2]|0;t=k+56|0;z=c[t>>2]|0;v=da(l,z)|0;k=k+60|0;w=g+(u<<2)|0;x=0;while(1){if((x|0)>=(c[k>>2]|0))break;B=(c[(c[w>>2]|0)+(x+m<<2)>>2]|0)+(v<<7)|0;A=0;while(1){if((A|0)>=(z|0))break;c[h+(y<<2)+32>>2]=B;z=c[t>>2]|0;y=y+1|0;B=B+128|0;A=A+1|0}x=x+1|0}u=u+1|0}if((Dd[c[(c[p>>2]|0)+4>>2]&127](a,q)|0)==0){j=17;break a}l=l+1|0}c[o>>2]=0;m=m+1|0}if((j|0)==17){c[n>>2]=m;c[o>>2]=l;B=0;i=b;return B|0}g=(c[f>>2]|0)+1|0;c[f>>2]=g;f=c[a+332>>2]|0;if(!(g>>>0<f>>>0)){qd[c[(c[a+460>>2]|0)+12>>2]&255](a);B=4;i=b;return B|0}e=c[e>>2]|0;do if((c[d>>2]|0)<=1){a=c[a+344>>2]|0;if(g>>>0<(f+ -1|0)>>>0){c[e+28>>2]=c[a+12>>2];break}else{c[e+28>>2]=c[a+76>>2];break}}else c[e+28>>2]=1;while(0);c[e+20>>2]=0;c[e+24>>2]=0;B=3;i=b;return B|0}function Gf(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;d=i;f=c[a+452>>2]|0;e=a+332|0;g=(c[e>>2]|0)+ -1|0;m=a+144|0;n=a+152|0;l=a+460|0;k=a+148|0;h=a+156|0;while(1){p=c[m>>2]|0;j=c[n>>2]|0;if((p|0)>=(j|0)){if((p|0)!=(j|0))break;if((c[k>>2]|0)>>>0>(c[h>>2]|0)>>>0)break}if((ud[c[c[l>>2]>>2]&127](a)|0)==0){o=20;break}}if((o|0)==20){i=d;return 0}j=a+36|0;k=a+4|0;o=a+472|0;m=0;l=c[a+216>>2]|0;while(1){if((m|0)>=(c[j>>2]|0))break;a:do if((c[l+52>>2]|0)!=0){p=l+12|0;n=c[p>>2]|0;y=da(c[h>>2]|0,n)|0;n=Ed[c[(c[k>>2]|0)+32>>2]&63](a,c[f+(m<<2)+72>>2]|0,y,n,0)|0;if((c[h>>2]|0)>>>0<g>>>0)x=c[p>>2]|0;else{y=c[p>>2]|0;x=((c[l+32>>2]|0)>>>0)%(y>>>0)|0;x=(x|0)==0?y:x}u=c[(c[o>>2]|0)+(m<<2)+4>>2]|0;p=l+28|0;t=l+36|0;y=l+40|0;w=c[b+(m<<2)>>2]|0;v=0;while(1){if((v|0)>=(x|0))break a;s=c[n+(v<<2)>>2]|0;r=0;q=0;while(1){if(!(q>>>0<(c[p>>2]|0)>>>0))break;od[u&127](a,l,s,w,r);s=s+128|0;r=r+(c[t>>2]|0)|0;q=q+1|0}w=w+(c[y>>2]<<2)|0;v=v+1|0}}while(0);m=m+1|0;l=l+88|0}y=(c[h>>2]|0)+1|0;c[h>>2]=y;i=d;return(y>>>0<(c[e>>2]|0)>>>0?3:4)|0}function Hf(a){a=a|0;return 0}function If(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;d=i;f=a+452|0;t=c[f>>2]|0;y=(c[a+360>>2]|0)+ -1|0;h=a+332|0;q=(c[h>>2]|0)+ -1|0;r=t+24|0;k=t+28|0;j=t+20|0;l=a+436|0;o=a+468|0;m=t+32|0;e=a+340|0;p=a+472|0;g=a+148|0;n=a+368|0;s=c[r>>2]|0;a:while(1){if((s|0)>=(c[k>>2]|0))break;v=c[j>>2]|0;while(1){if(v>>>0>y>>>0)break;if((c[l>>2]|0)!=0)st(c[m>>2]|0,0,c[n>>2]<<7|0)|0;if((Dd[c[(c[o>>2]|0)+4>>2]&127](a,m)|0)==0){u=8;break a}w=v>>>0<y>>>0;J=0;x=0;while(1){if((x|0)>=(c[e>>2]|0))break;z=c[a+(x<<2)+344>>2]|0;b:do if((c[z+52>>2]|0)==0)J=J+(c[z+64>>2]|0)|0;else{E=c[z+4>>2]|0;A=c[(c[p>>2]|0)+(E<<2)+4>>2]|0;if(w){C=z+56|0;B=C}else{B=z+56|0;C=z+72|0}D=c[C>>2]|0;C=z+40|0;L=c[C>>2]|0;I=(c[b+(E<<2)>>2]|0)+((da(s,L)|0)<<2)|0;F=da(v,c[z+68>>2]|0)|0;H=z+60|0;G=z+36|0;E=z+76|0;K=0;while(1){if((K|0)>=(c[H>>2]|0))break b;if(!((c[g>>2]|0)>>>0<q>>>0)?(s+K|0)>=(c[E>>2]|0):0)M=L;else{M=F;L=0;u=20}if((u|0)==20){while(1){u=0;if((L|0)>=(D|0))break;od[A&127](a,z,c[t+(J+L<<2)+32>>2]|0,I,M);M=M+(c[G>>2]|0)|0;L=L+1|0;u=20}M=c[C>>2]|0}L=M;J=J+(c[B>>2]|0)|0;I=I+(M<<2)|0;K=K+1|0}}while(0);x=x+1|0}v=v+1|0}c[j>>2]=0;s=s+1|0}if((u|0)==8){c[r>>2]=s;c[j>>2]=v;M=0;i=d;return M|0}j=a+156|0;c[j>>2]=(c[j>>2]|0)+1;j=(c[g>>2]|0)+1|0;c[g>>2]=j;g=c[h>>2]|0;if(!(j>>>0<g>>>0)){qd[c[(c[a+460>>2]|0)+12>>2]&255](a);M=4;i=d;return M|0}f=c[f>>2]|0;do if((c[e>>2]|0)<=1){a=c[a+344>>2]|0;if(j>>>0<(g+ -1|0)>>>0){c[f+28>>2]=c[a+12>>2];break}else{c[f+28>>2]=c[a+76>>2];break}}else c[f+28>>2]=1;while(0);c[f+20>>2]=0;c[f+24>>2]=0;M=3;i=d;return M|0}function Jf(d,f){d=d|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0;m=i;i=i+128|0;k=m;h=c[d+452>>2]|0;g=d+332|0;j=(c[g>>2]|0)+ -1|0;n=d+144|0;v=d+152|0;t=d+460|0;u=d+412|0;o=d+148|0;l=d+156|0;while(1){q=c[n>>2]|0;r=c[v>>2]|0;if((q|0)>(r|0))break;s=c[t>>2]|0;if((c[s+20>>2]|0)!=0)break;if((q|0)==(r|0)?(c[o>>2]|0)>>>0>((c[l>>2]|0)+((c[u>>2]|0)==0&1)|0)>>>0:0)break;if((ud[c[s>>2]&127](d)|0)==0){p=75;break}}if((p|0)==75){i=m;return 0}q=d+36|0;p=d+4|0;n=h+112|0;o=d+472|0;x=k+4|0;u=k+18|0;t=k+32|0;s=k+16|0;r=k+2|0;v=0;w=c[d+216>>2]|0;while(1){if((v|0)>=(c[q>>2]|0))break;a:do if((c[w+52>>2]|0)!=0){B=c[l>>2]|0;if(B>>>0<j>>>0){A=c[w+12>>2]|0;z=A;y=A;C=0;A=A<<1}else{qa=c[w+12>>2]|0;A=((c[w+32>>2]|0)>>>0)%(qa>>>0)|0;pa=(A|0)==0;z=qa;y=pa?qa:A;C=1;A=pa?qa:A}if((B|0)==0){z=0;B=Ed[c[(c[p>>2]|0)+32>>2]&63](d,c[h+(v<<2)+72>>2]|0,0,A,0)|0}else{B=da(B+ -1|0,z)|0;B=Ed[c[(c[p>>2]|0)+32>>2]&63](d,c[h+(v<<2)+72>>2]|0,B,A+z|0,0)|0;z=1;B=B+(c[w+12>>2]<<2)|0}M=c[n>>2]|0;L=v*6|0;I=c[w+80>>2]|0;T=e[I>>1]|0;W=e[I+2>>1]|0;Z=e[I+16>>1]|0;ba=e[I+32>>1]|0;J=e[I+18>>1]|0;I=e[I+4>>1]|0;A=c[(c[o>>2]|0)+(v<<2)+4>>2]|0;P=(C|0)!=0;O=w+28|0;S=M+((L|1)<<2)|0;U=M+(L+2<<2)|0;X=M+(L+3<<2)|0;$=M+(L+4<<2)|0;L=M+(L+5<<2)|0;M=w+36|0;_=T*9|0;N=I<<7;I=I<<8;ca=T*5|0;K=J<<7;J=J<<8;aa=ba<<7;ba=ba<<8;T=T*36|0;Y=Z<<7;Z=Z<<8;V=W<<7;W=W<<8;R=w+40|0;Q=y+ -1|0;D=c[f+(v<<2)>>2]|0;C=0;while(1){if((C|0)>=(y|0))break a;ea=c[B+(C<<2)>>2]|0;if((z^1)&(C|0)==0)ia=ea;else ia=c[B+(C+ -1<<2)>>2]|0;if(P&(C|0)==(Q|0))fa=ea;else fa=c[B+(C+1<<2)>>2]|0;G=b[ia>>1]|0;F=b[ea>>1]|0;E=b[fa>>1]|0;H=(c[O>>2]|0)+ -1|0;na=G;ja=F;oa=E;ga=0;ha=0;while(1){if(ha>>>0>H>>>0)break;la=k+0|0;ka=ea+0|0;ma=la+128|0;do{a[la>>0]=a[ka>>0]|0;la=la+1|0;ka=ka+1|0}while((la|0)<(ma|0));if(ha>>>0<H>>>0){la=b[ia+128>>1]|0;ka=b[ea+128>>1]|0;ma=b[fa+128>>1]|0}else{la=G;ka=F;ma=E}pa=c[S>>2]|0;if((pa|0)!=0?(b[r>>1]|0)==0:0){qa=da(T,ja-ka|0)|0;if((qa|0)>-1){qa=(V+qa|0)/(W|0)|0;if((pa|0)>0){pa=1<<pa;qa=(qa|0)<(pa|0)?qa:pa+ -1|0}}else{qa=(V-qa|0)/(W|0)|0;if((pa|0)>0){pa=1<<pa;qa=(qa|0)<(pa|0)?qa:pa+ -1|0}qa=0-qa|0}b[r>>1]=qa}pa=c[U>>2]|0;if((pa|0)!=0?(b[s>>1]|0)==0:0){qa=da(T,G-E|0)|0;if((qa|0)>-1){qa=(Y+qa|0)/(Z|0)|0;if((pa|0)>0){pa=1<<pa;qa=(qa|0)<(pa|0)?qa:pa+ -1|0}}else{qa=(Y-qa|0)/(Z|0)|0;if((pa|0)>0){pa=1<<pa;qa=(qa|0)<(pa|0)?qa:pa+ -1|0}qa=0-qa|0}b[s>>1]=qa}pa=c[X>>2]|0;if((pa|0)!=0?(b[t>>1]|0)==0:0){qa=da(_,G+E-(F<<1)|0)|0;do if((qa|0)>-1){qa=(aa+qa|0)/(ba|0)|0;if((pa|0)<=0)break;pa=1<<pa;qa=(qa|0)<(pa|0)?qa:pa+ -1|0}else{qa=(aa-qa|0)/(ba|0)|0;if((pa|0)>0){pa=1<<pa;qa=(qa|0)<(pa|0)?qa:pa+ -1|0}qa=0-qa|0}while(0);b[t>>1]=qa}pa=c[$>>2]|0;if((pa|0)!=0?(b[u>>1]|0)==0:0){na=da(ca,na-la-oa+ma|0)|0;do if((na|0)>-1){na=(K+na|0)/(J|0)|0;if((pa|0)<=0)break;qa=1<<pa;na=(na|0)<(qa|0)?na:qa+ -1|0}else{na=(K-na|0)/(J|0)|0;if((pa|0)>0){qa=1<<pa;na=(na|0)<(qa|0)?na:qa+ -1|0}na=0-na|0}while(0);b[u>>1]=na}na=c[L>>2]|0;if((na|0)!=0?(b[x>>1]|0)==0:0){ja=da(_,ja+ka-(F<<1)|0)|0;do if((ja|0)>-1){ja=(N+ja|0)/(I|0)|0;if((na|0)<=0)break;qa=1<<na;ja=(ja|0)<(qa|0)?ja:qa+ -1|0}else{ja=(N-ja|0)/(I|0)|0;if((na|0)>0){qa=1<<na;ja=(ja|0)<(qa|0)?ja:qa+ -1|0}ja=0-ja|0}while(0);b[x>>1]=ja}od[A&127](d,w,k,D,ga);oa=E;ja=F;na=G;G=la;F=ka;E=ma;ea=ea+128|0;fa=fa+128|0;ga=ga+(c[M>>2]|0)|0;ia=ia+128|0;ha=ha+1|0}D=D+(c[R>>2]<<2)|0;C=C+1|0}}while(0);v=v+1|0;w=w+88|0}qa=(c[l>>2]|0)+1|0;c[l>>2]=qa;i=m;return(qa>>>0<(c[g>>2]|0)>>>0?3:4)|0}function Kf(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;d=i;e=b+4|0;f=md[c[c[e>>2]>>2]&63](b,1,32)|0;g=b+480|0;c[g>>2]=f;c[f>>2]=153;k=b+40|0;switch(c[k>>2]|0){case 5:case 4:{if((c[b+36>>2]|0)!=4){c[(c[b>>2]|0)+20>>2]=11;qd[c[c[b>>2]>>2]&255](b)}break};case 1:{if((c[b+36>>2]|0)!=1){c[(c[b>>2]|0)+20>>2]=11;qd[c[c[b>>2]>>2]&255](b)}break};case 7:case 6:case 3:case 2:{if((c[b+36>>2]|0)!=3){c[(c[b>>2]|0)+20>>2]=11;qd[c[c[b>>2]>>2]&255](b)}break};default:if((c[b+36>>2]|0)<1){c[(c[b>>2]|0)+20>>2]=11;qd[c[c[b>>2]>>2]&255](b)}}h=b+304|0;if((c[h>>2]|0)!=0?(m=c[k>>2]|0,!((m|0)==6|(m|0)==2)):0){c[(c[b>>2]|0)+20>>2]=28;qd[c[c[b>>2]>>2]&255](b)}j=c[b+44>>2]|0;a:do if((j|0)==4){c[b+120>>2]=4;e=c[k>>2]|0;if((e|0)==4){c[f+4>>2]=41;break}else if((e|0)==5){c[f+4>>2]=40;Rf(b);break}else{c[(c[b>>2]|0)+20>>2]=28;qd[c[c[b>>2]>>2]&255](b);break}}else if((j|0)==6){c[b+120>>2]=3;if((c[k>>2]|0)!=6){c[(c[b>>2]|0)+20>>2]=28;qd[c[c[b>>2]>>2]&255](b);break}e=c[h>>2]|0;if((e|0)==0){c[f+4>>2]=38;break}else if((e|0)==1){c[f+4>>2]=39;break}else{c[(c[b>>2]|0)+20>>2]=28;qd[c[c[b>>2]>>2]&255](b);break}}else if((j|0)==1){c[b+120>>2]=1;j=c[k>>2]|0;if((j|0)==7|(j|0)==3|(j|0)==1){c[f+4>>2]=33;g=b+36|0;f=b+216|0;e=1;while(1){if((e|0)>=(c[g>>2]|0))break a;c[(c[f>>2]|0)+(e*88|0)+52>>2]=0;e=e+1|0}}else if((j|0)==2){h=c[h>>2]|0;if((h|0)==1)c[f+4>>2]=35;else if((h|0)==0)c[f+4>>2]=34;else{c[(c[b>>2]|0)+20>>2]=28;qd[c[c[b>>2]>>2]&255](b)}m=c[g>>2]|0;f=md[c[c[e>>2]>>2]&63](b,1,3072)|0;c[m+28>>2]=f;e=0;while(1){if((e|0)>=256)break a;c[f+(e<<2)>>2]=e*19595;c[f+(e+256<<2)>>2]=e*38470;c[f+(e+512<<2)>>2]=(e*7471|0)+32768;e=e+1|0}}else{c[(c[b>>2]|0)+20>>2]=28;qd[c[c[b>>2]>>2]&255](b);break}}else if((j|0)==2){c[b+120>>2]=3;j=c[k>>2]|0;if((j|0)==7){c[f+4>>2]=37;f=c[g>>2]|0;h=f+8|0;c[h>>2]=md[c[c[e>>2]>>2]&63](b,1,1024)|0;j=f+12|0;c[j>>2]=md[c[c[e>>2]>>2]&63](b,1,1024)|0;k=f+16|0;c[k>>2]=md[c[c[e>>2]>>2]&63](b,1,1024)|0;g=f+20|0;c[g>>2]=md[c[c[e>>2]>>2]&63](b,1,1024)|0;f=f+24|0;c[f>>2]=md[c[c[e>>2]>>2]&63](b,1,1280)|0;l=1;m=0;e=-128;while(1){if(!l)break;c[(c[h>>2]|0)+(m<<2)>>2]=(e*183763|0)+32768>>16;c[(c[j>>2]|0)+(m<<2)>>2]=(e*232260|0)+32768>>16;n=da(e,-93603)|0;c[(c[k>>2]|0)+(m<<2)>>2]=n;n=(da(e,-45107)|0)+32768|0;c[(c[g>>2]|0)+(m<<2)>>2]=n;n=m+1|0;l=(n|0)<256;m=n;e=e+1|0}st(c[f>>2]|0,0,512)|0;c[f>>2]=(c[f>>2]|0)+512;e=0;while(1){if((e|0)>=256)break;a[(c[f>>2]|0)+e>>0]=e;e=e+1|0}while(1){if((e|0)>=768)break a;a[(c[f>>2]|0)+e>>0]=-1;e=e+1|0}}else if((j|0)==2){e=c[h>>2]|0;if((e|0)==0){c[f+4>>2]=38;break}else if((e|0)==1){c[f+4>>2]=39;break}else{c[(c[b>>2]|0)+20>>2]=28;qd[c[c[b>>2]>>2]&255](b);break}}else if((j|0)==3){c[f+4>>2]=37;Rf(b);break}else if((j|0)==1){c[f+4>>2]=36;break}else{c[(c[b>>2]|0)+20>>2]=28;qd[c[c[b>>2]>>2]&255](b);break}}else if((j|0)==(c[k>>2]|0)){c[b+120>>2]=c[b+36>>2];c[f+4>>2]=41;break}else{c[(c[b>>2]|0)+20>>2]=28;qd[c[c[b>>2]>>2]&255](b);break}while(0);if((c[b+84>>2]|0)==0){c[b+124>>2]=c[b+120>>2];i=d;return}else{c[b+124>>2]=1;i=d;return}}function Lf(a){a=a|0;return}function Mf(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=i;a=c[a+112>>2]|0;d=(c[b>>2]|0)+(d<<2)|0;while(1){if((f|0)<=0)break;pt(c[e>>2]|0,c[d>>2]|0,a|0)|0;d=d+4|0;e=e+4|0;f=f+ -1|0}i=g;return}function Nf(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;k=i;j=c[(c[b+480>>2]|0)+28>>2]|0;m=c[b+112>>2]|0;b=e+4|0;l=e+8|0;a:while(1){o=h+ -1|0;if((h|0)<=0)break;q=c[(c[e>>2]|0)+(f<<2)>>2]|0;p=c[(c[b>>2]|0)+(f<<2)>>2]|0;h=c[(c[l>>2]|0)+(f<<2)>>2]|0;f=f+1|0;n=g+4|0;g=c[g>>2]|0;r=0;while(1){if(!(r>>>0<m>>>0)){h=o;g=n;continue a}a[g+r>>0]=((c[j+((d[q+r>>0]|0)<<2)>>2]|0)+(c[j+((d[p+r>>0]|0|256)<<2)>>2]|0)+(c[j+((d[h+r>>0]|0|512)<<2)>>2]|0)|0)>>>16;r=r+1|0}}i=k;return}function Of(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;k=i;j=c[(c[b+480>>2]|0)+28>>2]|0;m=c[b+112>>2]|0;b=e+4|0;l=e+8|0;a:while(1){o=h+ -1|0;if((h|0)<=0)break;p=c[(c[e>>2]|0)+(f<<2)>>2]|0;q=c[(c[b>>2]|0)+(f<<2)>>2]|0;h=c[(c[l>>2]|0)+(f<<2)>>2]|0;f=f+1|0;n=g+4|0;g=c[g>>2]|0;r=0;while(1){if(!(r>>>0<m>>>0)){h=o;g=n;continue a}s=d[q+r>>0]|0;a[g+r>>0]=((c[j+(((d[p+r>>0]|0)+s+128&255)<<2)>>2]|0)+(c[j+((s|256)<<2)>>2]|0)+(c[j+(((d[h+r>>0]|0)+s+128&255|512)<<2)>>2]|0)|0)>>>16;r=r+1|0}}i=k;return}function Pf(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;b=c[b+112>>2]|0;a:while(1){j=g+ -1|0;if((g|0)<=0)break;l=e+1|0;g=c[(c[d>>2]|0)+(e<<2)>>2]|0;k=f+4|0;f=c[f>>2]|0;e=0;while(1){if(!(e>>>0<b>>>0)){g=j;e=l;f=k;continue a}m=a[g+e>>0]|0;a[f+2>>0]=m;a[f+1>>0]=m;a[f>>0]=m;f=f+3|0;e=e+1|0}}i=h;return}function Qf(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;j=i;m=c[b+480>>2]|0;p=c[b+112>>2]|0;k=c[m+24>>2]|0;l=c[m+8>>2]|0;o=c[m+12>>2]|0;q=c[m+16>>2]|0;m=c[m+20>>2]|0;n=e+4|0;b=e+8|0;a:while(1){s=h+ -1|0;if((h|0)<=0)break;u=c[(c[e>>2]|0)+(f<<2)>>2]|0;t=c[(c[n>>2]|0)+(f<<2)>>2]|0;h=c[(c[b>>2]|0)+(f<<2)>>2]|0;f=f+1|0;r=g+4|0;g=c[g>>2]|0;v=0;while(1){if(!(v>>>0<p>>>0)){h=s;g=r;continue a}x=d[u+v>>0]|0;w=d[t+v>>0]|0;y=d[h+v>>0]|0;a[g>>0]=a[k+(x+(c[l+(y<<2)>>2]|0))>>0]|0;a[g+1>>0]=a[k+(x+((c[m+(w<<2)>>2]|0)+(c[q+(y<<2)>>2]|0)>>16))>>0]|0;a[g+2>>0]=a[k+(x+(c[o+(w<<2)>>2]|0))>>0]|0;g=g+3|0;v=v+1|0}}i=j;return}function Rf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;j=c[a+480>>2]|0;h=a+4|0;d=j+8|0;c[d>>2]=md[c[c[h>>2]>>2]&63](a,1,1024)|0;e=j+12|0;c[e>>2]=md[c[c[h>>2]>>2]&63](a,1,1024)|0;f=j+16|0;c[f>>2]=md[c[c[h>>2]>>2]&63](a,1,1024)|0;g=j+20|0;c[g>>2]=md[c[c[h>>2]>>2]&63](a,1,1024)|0;c[j+24>>2]=c[a+336>>2];j=1;h=0;a=-128;while(1){if(!j)break;c[(c[d>>2]|0)+(h<<2)>>2]=(a*91881|0)+32768>>16;c[(c[e>>2]|0)+(h<<2)>>2]=(a*116130|0)+32768>>16;k=da(a,-46802)|0;c[(c[f>>2]|0)+(h<<2)>>2]=k;k=(da(a,-22553)|0)+32768|0;c[(c[g>>2]|0)+(h<<2)>>2]=k;k=h+1|0;j=(k|0)<256;h=k;a=a+1|0}i=b;return}function Sf(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;h=i;k=c[b+112>>2]|0;b=d+4|0;j=d+8|0;a:while(1){m=g+ -1|0;if((g|0)<=0)break;g=c[(c[d>>2]|0)+(e<<2)>>2]|0;n=c[(c[b>>2]|0)+(e<<2)>>2]|0;o=c[(c[j>>2]|0)+(e<<2)>>2]|0;e=e+1|0;l=f+4|0;p=c[f>>2]|0;f=0;while(1){if(!(f>>>0<k>>>0)){g=m;f=l;continue a}a[p>>0]=a[g+f>>0]|0;a[p+1>>0]=a[n+f>>0]|0;a[p+2>>0]=a[o+f>>0]|0;p=p+3|0;f=f+1|0}}i=h;return}function Tf(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;j=i;l=c[b+112>>2]|0;b=e+4|0;k=e+8|0;a:while(1){n=h+ -1|0;if((h|0)<=0)break;p=c[(c[e>>2]|0)+(f<<2)>>2]|0;h=c[(c[b>>2]|0)+(f<<2)>>2]|0;o=c[(c[k>>2]|0)+(f<<2)>>2]|0;f=f+1|0;m=g+4|0;q=c[g>>2]|0;g=0;while(1){if(!(g>>>0<l>>>0)){h=n;g=m;continue a}t=a[h+g>>0]|0;r=t&255;s=d[o+g>>0]|0;a[q>>0]=(d[p+g>>0]|0)+r+128;a[q+1>>0]=t;a[q+2>>0]=s+r+128;q=q+3|0;g=g+1|0}}i=j;return}function Uf(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;k=i;q=c[b+480>>2]|0;j=c[b+112>>2]|0;l=c[b+336>>2]|0;m=c[q+8>>2]|0;p=c[q+12>>2]|0;o=c[q+16>>2]|0;q=c[q+20>>2]|0;n=e+4|0;r=e+8|0;b=e+12|0;a:while(1){t=h+ -1|0;if((h|0)<=0)break;w=c[(c[e>>2]|0)+(f<<2)>>2]|0;v=c[(c[n>>2]|0)+(f<<2)>>2]|0;u=c[(c[r>>2]|0)+(f<<2)>>2]|0;h=c[(c[b>>2]|0)+(f<<2)>>2]|0;f=f+1|0;s=g+4|0;x=c[g>>2]|0;g=0;while(1){if(!(g>>>0<j>>>0)){h=t;g=s;continue a}z=d[w+g>>0]|0;y=d[v+g>>0]|0;A=d[u+g>>0]|0;a[x>>0]=a[l+(255-(z+(c[m+(A<<2)>>2]|0)))>>0]|0;a[x+1>>0]=a[l+(255-(z+((c[q+(y<<2)>>2]|0)+(c[o+(A<<2)>>2]|0)>>16)))>>0]|0;a[x+2>>0]=a[l+(255-(z+(c[p+(y<<2)>>2]|0)))>>0]|0;a[x+3>>0]=a[h+g>>0]|0;x=x+4|0;g=g+1|0}}i=k;return}function Vf(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;h=i;j=c[b+36>>2]|0;b=c[b+112>>2]|0;while(1){k=g+ -1|0;if((g|0)>0)m=0;else break;while(1){if((m|0)>=(j|0))break;g=c[(c[d+(m<<2)>>2]|0)+(e<<2)>>2]|0;n=(c[f>>2]|0)+m|0;l=0;while(1){if(!(l>>>0<b>>>0))break;a[n>>0]=a[g>>0]|0;g=g+1|0;n=n+j|0;l=l+1|0}m=m+1|0}e=e+1|0;g=k;f=f+4|0}i=h;return}function Wf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0;b=i;e=a+4|0;g=md[c[c[e>>2]>>2]&63](a,1,84)|0;c[a+472>>2]=g;c[g>>2]=154;d=a+36|0;h=0;f=c[a+216>>2]|0;while(1){if((h|0)>=(c[d>>2]|0))break;j=md[c[c[e>>2]>>2]&63](a,1,256)|0;c[f+84>>2]=j;st(j|0,0,256)|0;c[g+(h<<2)+44>>2]=-1;h=h+1|0;f=f+88|0}i=b;return}function Xf(a){a=a|0;var d=0,f=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;m=i;d=c[a+472>>2]|0;j=a+36|0;f=a+72|0;k=0;q=0;p=0;l=c[a+216>>2]|0;while(1){if((k|0)>=(c[j>>2]|0))break;s=l+36|0;r=l+40|0;a:do switch((c[s>>2]<<8)+(c[r>>2]|0)|0){case 2056:{r=c[f>>2]|0;if((r|0)==1){q=r;p=74;break a}else if((r|0)==2){q=r;p=75;break a}else if((r|0)==0){q=0;p=73;break a}else{c[(c[a>>2]|0)+20>>2]=49;qd[c[c[a>>2]>>2]&255](a);break a}};case 1806:{q=0;p=66;break};case 1548:{q=0;p=67;break};case 1290:{q=0;p=68;break};case 514:{q=0;p=43;break};case 2313:{q=0;p=49;break};case 2570:{q=0;p=50;break};case 2565:{q=0;p=60;break};case 2052:{q=0;p=61;break};case 1539:{q=0;p=62;break};case 771:{q=0;p=44;break};case 1028:{q=0;p=45;break};case 3598:{q=0;p=54;break};case 3855:{q=0;p=55;break};case 4112:{q=0;p=56;break};case 1032:{q=0;p=69;break};case 774:{q=0;p=70;break};case 516:{q=0;p=71;break};case 258:{q=0;p=72;break};case 257:{q=0;p=42;break};case 1285:{q=0;p=46;break};case 2827:{q=0;p=51;break};case 3084:{q=0;p=52;break};case 3341:{q=0;p=53;break};case 1542:{q=0;p=47;break};case 4104:{q=0;p=57;break};case 3591:{q=0;p=58;break};case 3078:{q=0;p=59;break};case 1026:{q=0;p=63;break};case 513:{q=0;p=64;break};case 2064:{q=0;p=65;break};case 1799:{q=0;p=48;break};default:{c[(c[a>>2]|0)+20>>2]=7;c[(c[a>>2]|0)+24>>2]=c[s>>2];c[(c[a>>2]|0)+28>>2]=c[r>>2];qd[c[c[a>>2]>>2]&255](a)}}while(0);c[d+(k<<2)+4>>2]=p;b:do if(((c[l+52>>2]|0)!=0?(n=d+(k<<2)+44|0,(c[n>>2]|0)!=(q|0)):0)?(o=c[l+80>>2]|0,(o|0)!=0):0){c[n>>2]=q;if((q|0)==0){r=c[l+84>>2]|0;s=0;while(1){if((s|0)>=64)break b;c[r+(s<<2)>>2]=e[o+(s<<1)>>1];s=s+1|0}}else if((q|0)==1){r=c[l+84>>2]|0;s=0;while(1){if((s|0)>=64)break b;c[r+(s<<2)>>2]=(da(e[o+(s<<1)>>1]|0,b[1440+(s<<1)>>1]|0)|0)+2048>>12;s=s+1|0}}else if((q|0)==2){t=c[l+84>>2]|0;v=0;s=0;while(1){if((s|0)>=8)break b;r=1568+(s<<3)|0;u=0;while(1){if((u|0)>=8)break;g[t+(v<<2)>>2]=+(e[o+(v<<1)>>1]|0)*+h[r>>3]*+h[1568+(u<<3)>>3]*.125;v=v+1|0;u=u+1|0}s=s+1|0}}else{c[(c[a>>2]|0)+20>>2]=49;qd[c[c[a>>2]>>2]&255](a);break}}while(0);k=k+1|0;l=l+88|0}i=m;return}function Yf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=i;f=a+4|0;b=md[c[c[f>>2]>>2]&63](a,1,220)|0;c[a+468>>2]=b;c[b>>2]=155;c[b+8>>2]=156;if((c[a+224>>2]|0)==0){e=0;while(1){if((e|0)>=4)break;c[b+(e<<2)+84>>2]=0;c[b+(e<<2)+68>>2]=0;e=e+1|0}i=d;return}e=a+36|0;g=md[c[c[f>>2]>>2]&63](a,1,c[e>>2]<<8)|0;c[a+160>>2]=g;f=0;while(1){if((f|0)<(c[e>>2]|0))a=0;else{e=0;break}while(1){if((a|0)>=64)break;c[g>>2]=-1;g=g+4|0;a=a+1|0}f=f+1|0}while(1){if((e|0)>=4)break;c[b+(e<<2)+48>>2]=0;e=e+1|0}i=d;return}function Zf(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;b=i;d=c[a+468>>2]|0;e=a+412|0;h=c[e>>2]|0;g=(h|0)==0;if((c[a+224>>2]|0)==0){if((g?(c[a+420>>2]|0)==0:0)?(c[a+424>>2]|0)==0:0){r=c[a+416>>2]|0;if((c[a+220>>2]|0)!=0|(r|0)<64?(r|0)!=(c[a+436>>2]|0):0)f=43}else f=43;if((f|0)==43){c[(c[a>>2]|0)+20>>2]=125;rd[c[(c[a>>2]|0)+4>>2]&127](a,-1)}e=a+436|0;f=d+4|0;if((c[e>>2]|0)==63)c[f>>2]=63;else c[f>>2]=62;f=a+340|0;h=0;while(1){if((h|0)>=(c[f>>2]|0))break;g=c[a+(h<<2)+344>>2]|0;r=c[g+20>>2]|0;dg(a,1,r,d+(r<<2)+68|0);if((c[e>>2]|0)!=0){r=c[g+24>>2]|0;dg(a,0,r,d+(r<<2)+84|0)}c[d+(h<<2)+24>>2]=0;h=h+1|0}h=a+368|0;g=0;while(1){if((g|0)>=(c[h>>2]|0))break;j=c[a+(c[a+(g<<2)+372>>2]<<2)+344>>2]|0;c[d+(g<<2)+100>>2]=c[d+(c[j+20>>2]<<2)+68>>2];c[d+(g<<2)+140>>2]=c[d+(c[j+24>>2]<<2)+84>>2];a:do if((c[j+52>>2]|0)==0)c[d+(g<<2)+180>>2]=0;else{f=c[j+40>>2]|0;j=c[j+36>>2]|0;switch(c[e>>2]|0){case 0:{c[d+(g<<2)+180>>2]=1;break a};case 3:{c[d+(g<<2)+180>>2]=(c[1632+(((f|0)<1|(f|0)>2?2:f)+ -1<<3)+(((j|0)<1|(j|0)>2?2:j)+ -1<<2)>>2]|0)+1;break a};case 8:{c[d+(g<<2)+180>>2]=(c[1648+((((f|0)<1|(f|0)>3?3:f)+ -1|0)*12|0)+(((j|0)<1|(j|0)>3?3:j)+ -1<<2)>>2]|0)+1;break a};case 15:{c[d+(g<<2)+180>>2]=(c[1688+(((f|0)<1|(f|0)>4?4:f)+ -1<<4)+(((j|0)<1|(j|0)>4?4:j)+ -1<<2)>>2]|0)+1;break a};case 24:{c[d+(g<<2)+180>>2]=(c[1752+((((f|0)<1|(f|0)>5?5:f)+ -1|0)*20|0)+(((j|0)<1|(j|0)>5?5:j)+ -1<<2)>>2]|0)+1;break a};case 35:{c[d+(g<<2)+180>>2]=(c[1856+((((f|0)<1|(f|0)>6?6:f)+ -1|0)*24|0)+(((j|0)<1|(j|0)>6?6:j)+ -1<<2)>>2]|0)+1;break a};case 48:{c[d+(g<<2)+180>>2]=(c[2e3+((((f|0)<1|(f|0)>7?7:f)+ -1|0)*28|0)+(((j|0)<1|(j|0)>7?7:j)+ -1<<2)>>2]|0)+1;break a};default:{c[d+(g<<2)+180>>2]=(c[2200+(((f|0)<1|(f|0)>8?8:f)+ -1<<5)+(((j|0)<1|(j|0)>8?8:j)+ -1<<2)>>2]|0)+1;break a}}}while(0);g=g+1|0}q=d+16|0;c[q>>2]=0;q=d+12|0;c[q>>2]=0;q=d+40|0;c[q>>2]=0;q=a+280|0;q=c[q>>2]|0;r=d+44|0;c[r>>2]=q;i=b;return}f=c[a+416>>2]|0;if(g)if((f|0)==0)f=7;else f=12;else if(((f|0)>=(h|0)?(f|0)<=(c[a+436>>2]|0):0)?(c[a+340>>2]|0)==1:0)f=7;else f=12;do if((f|0)==7){g=c[a+420>>2]|0;if((g|0)!=0){g=g+ -1|0;if((g|0)!=(c[a+424>>2]|0)){f=12;break}}else g=c[a+424>>2]|0;if((g|0)>13)f=12;else{j=a;h=a+416|0;k=a}}while(0);if((f|0)==12){c[(c[a>>2]|0)+20>>2]=17;c[(c[a>>2]|0)+24>>2]=c[e>>2];h=a+416|0;c[(c[a>>2]|0)+28>>2]=c[h>>2];c[(c[a>>2]|0)+32>>2]=c[a+420>>2];c[(c[a>>2]|0)+36>>2]=c[a+424>>2];qd[c[c[a>>2]>>2]&255](a);j=a;k=a}g=a+340|0;n=a+160|0;f=a+420|0;l=a+424|0;m=0;while(1){if((m|0)>=(c[g>>2]|0))break;p=c[(c[a+(m<<2)+344>>2]|0)+4>>2]|0;o=c[n>>2]|0;r=c[e>>2]|0;if((r|0)!=0){if((c[o+(p<<8)>>2]|0)<0){c[(c[k>>2]|0)+20>>2]=118;c[(c[k>>2]|0)+24>>2]=p;c[(c[k>>2]|0)+28>>2]=0;rd[c[(c[k>>2]|0)+4>>2]&127](j,-1);r=c[e>>2]|0}}else r=0;while(1){if((r|0)>(c[h>>2]|0))break;q=o+(p<<8)+(r<<2)|0;s=c[q>>2]|0;if((c[f>>2]|0)!=(((s|0)<0?0:s)|0)){c[(c[k>>2]|0)+20>>2]=118;c[(c[k>>2]|0)+24>>2]=p;c[(c[k>>2]|0)+28>>2]=r;rd[c[(c[k>>2]|0)+4>>2]&127](j,-1)}c[q>>2]=c[l>>2];r=r+1|0}m=m+1|0}j=(c[e>>2]|0)==0;h=d+4|0;do if((c[f>>2]|0)==0)if(j){c[h>>2]=58;break}else{c[h>>2]=59;break}else if(j){c[h>>2]=60;break}else{c[h>>2]=61;break}while(0);j=d+64|0;h=0;while(1){if((h|0)>=(c[g>>2]|0))break;k=c[a+(h<<2)+344>>2]|0;if((c[e>>2]|0)==0){if((c[f>>2]|0)==0){s=c[k+20>>2]|0;dg(a,1,s,d+(s<<2)+48|0)}}else{r=c[k+24>>2]|0;s=d+(r<<2)+48|0;dg(a,0,r,s);c[j>>2]=c[s>>2]}c[d+(h<<2)+24>>2]=0;h=h+1|0}c[d+20>>2]=0;r=d+16|0;c[r>>2]=0;r=d+12|0;c[r>>2]=0;r=d+40|0;c[r>>2]=0;r=a+280|0;r=c[r>>2]|0;s=d+44|0;c[s>>2]=r;i=b;return}function _f(a){a=a|0;var b=0;b=c[a+468>>2]|0;a=(c[a+464>>2]|0)+24|0;c[a>>2]=(c[a>>2]|0)+((c[b+16>>2]|0)/8|0);c[b+16>>2]=0;return}function $f(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;f=i;i=i+48|0;h=f+20|0;k=f;j=c[a+468>>2]|0;l=c[a+424>>2]|0;if(((c[a+280>>2]|0)!=0?(c[j+44>>2]|0)==0:0)?(gg(a)|0)==0:0){B=0;i=f;return B|0}do if((c[j+40>>2]|0)==0){c[h+16>>2]=a;m=a+24|0;o=c[m>>2]|0;c[h>>2]=c[o>>2];n=h+4|0;c[n>>2]=c[o+4>>2];o=j+12|0;y=c[o>>2]|0;q=j+16|0;z=c[q>>2]|0;r=j+20|0;c[k+0>>2]=c[r+0>>2];c[k+4>>2]=c[r+4>>2];c[k+8>>2]=c[r+8>>2];c[k+12>>2]=c[r+12>>2];c[k+16>>2]=c[r+16>>2];u=a+368|0;s=h+8|0;t=h+12|0;v=0;while(1){if((v|0)>=(c[u>>2]|0)){w=20;break}g=c[e+(v<<2)>>2]|0;p=c[a+(v<<2)+372>>2]|0;x=c[j+(c[(c[a+(p<<2)+344>>2]|0)+20>>2]<<2)+48>>2]|0;if((z|0)<8){if((hg(h,y,z,0)|0)==0){g=0;w=22;break}y=c[s>>2]|0;z=c[t>>2]|0;if((z|0)<8){A=1;w=12}else w=10}else w=10;if((w|0)==10){w=0;A=y>>z+ -8&255;B=c[x+(A<<2)+144>>2]|0;if((B|0)==0){A=9;w=12}else{z=z-B|0;x=d[x+A+1168>>0]|0}}if((w|0)==12){x=ig(h,y,z,x,A)|0;if((x|0)<0){g=0;w=22;break}z=c[t>>2]|0;y=c[s>>2]|0}if((x|0)!=0){if((z|0)<(x|0)){if((hg(h,y,z,x)|0)==0){g=0;w=22;break}z=c[t>>2]|0;y=c[s>>2]|0}z=z-x|0;B=c[2456+(x<<2)>>2]|0;A=y>>z&B;x=(A|0)>(c[2456+(x+ -1<<2)>>2]|0)?A:A-B|0}A=k+(p<<2)+4|0;B=x+(c[A>>2]|0)|0;c[A>>2]=B;b[g>>1]=B<<l;v=v+1|0}if((w|0)==20){c[c[m>>2]>>2]=c[h>>2];c[(c[m>>2]|0)+4>>2]=c[n>>2];c[o>>2]=y;c[q>>2]=z;c[r+0>>2]=c[k+0>>2];c[r+4>>2]=c[k+4>>2];c[r+8>>2]=c[k+8>>2];c[r+12>>2]=c[k+12>>2];c[r+16>>2]=c[k+16>>2];break}else if((w|0)==22){i=f;return g|0}}while(0);B=j+44|0;c[B>>2]=(c[B>>2]|0)+ -1;B=1;i=f;return B|0}function ag(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;f=i;i=i+32|0;j=f;h=c[a+468>>2]|0;if(((c[a+280>>2]|0)!=0?(c[h+44>>2]|0)==0:0)?(gg(a)|0)==0:0){y=0;i=f;return y|0}if((c[h+40>>2]|0)==0){q=c[a+416>>2]|0;p=c[a+424>>2]|0;r=c[a+432>>2]|0;g=h+20|0;k=c[g>>2]|0;if((k|0)==0){c[j+16>>2]=a;k=a+24|0;m=c[k>>2]|0;c[j>>2]=c[m>>2];l=j+4|0;c[l>>2]=c[m+4>>2];m=h+12|0;n=h+16|0;u=c[e>>2]|0;t=c[h+64>>2]|0;e=j+8|0;s=j+12|0;w=c[n>>2]|0;v=c[m>>2]|0;a=c[a+412>>2]|0;while(1){if((a|0)>(q|0)){p=0;break}if((w|0)<8){if((hg(j,v,w,0)|0)==0){g=0;o=31;break}v=c[e>>2]|0;w=c[s>>2]|0;if((w|0)<8){x=1;o=14}else o=12}else o=12;if((o|0)==12){o=0;x=v>>w+ -8&255;y=c[t+(x<<2)+144>>2]|0;if((y|0)==0){x=9;o=14}else{w=w-y|0;y=d[t+x+1168>>0]|0}}if((o|0)==14){o=0;y=ig(j,v,w,t,x)|0;if((y|0)<0){g=0;o=31;break}w=c[s>>2]|0;v=c[e>>2]|0}x=y>>4;y=y&15;if((y|0)==0){if((x|0)==0){p=0;break}else if((x|0)!=15){o=22;break}a=a+15|0}else{a=a+x|0;if((w|0)<(y|0)){if((hg(j,v,w,y)|0)==0){g=0;o=31;break}w=c[s>>2]|0;v=c[e>>2]|0}w=w-y|0;x=c[2456+(y<<2)>>2]|0;z=v>>w&x;b[u+(c[r+(a<<2)>>2]<<1)>>1]=((z|0)>(c[2456+(y+ -1<<2)>>2]|0)?z:z-x|0)<<p}a=a+1|0}if((o|0)==22){o=1<<x;do if((w|0)<(x|0))if((hg(j,v,w,x)|0)==0){z=0;i=f;return z|0}else{w=c[s>>2]|0;v=c[e>>2]|0;break}while(0);w=w-x|0;p=o+(v>>w&c[2456+(x<<2)>>2])+ -1|0}else if((o|0)==31){i=f;return g|0}c[c[k>>2]>>2]=c[j>>2];c[(c[k>>2]|0)+4>>2]=c[l>>2];c[m>>2]=v;c[n>>2]=w}else p=k+ -1|0;c[g>>2]=p}z=h+44|0;c[z>>2]=(c[z>>2]|0)+ -1;z=1;i=f;return z|0}function bg(a,d){a=a|0;d=d|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;f=i;i=i+32|0;n=f;j=c[a+468>>2]|0;if(((c[a+280>>2]|0)!=0?(c[j+44>>2]|0)==0:0)?(gg(a)|0)==0:0){t=0;i=f;return t|0}c[n+16>>2]=a;k=a+24|0;m=c[k>>2]|0;c[n>>2]=c[m>>2];l=n+4|0;c[l>>2]=c[m+4>>2];m=j+12|0;h=j+16|0;o=1<<c[a+424>>2];q=a+368|0;a=n+8|0;p=n+12|0;t=c[h>>2]|0;s=c[m>>2]|0;r=0;while(1){if((r|0)>=(c[q>>2]|0))break;if((t|0)<1){if((hg(n,s,t,1)|0)==0){h=0;g=13;break}t=c[p>>2]|0;s=c[a>>2]|0}t=t+ -1|0;if((s&1<<t|0)!=0){u=c[d+(r<<2)>>2]|0;b[u>>1]=e[u>>1]|0|o}r=r+1|0}if((g|0)==13){i=f;return h|0}c[c[k>>2]>>2]=c[n>>2];c[(c[k>>2]|0)+4>>2]=c[l>>2];c[m>>2]=s;c[h>>2]=t;u=j+44|0;c[u>>2]=(c[u>>2]|0)+ -1;u=1;i=f;return u|0}function cg(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;f=i;i=i+288|0;m=f+256|0;o=f;l=c[a+468>>2]|0;if(((c[a+280>>2]|0)!=0?(c[l+44>>2]|0)==0:0)?(gg(a)|0)==0:0){G=0;i=f;return G|0}do if((c[l+40>>2]|0)==0){p=c[a+416>>2]|0;r=c[a+424>>2]|0;q=1<<r;r=-1<<r;t=c[a+432>>2]|0;c[m+16>>2]=a;n=a+24|0;j=c[n>>2]|0;c[m>>2]=c[j>>2];k=m+4|0;c[k>>2]=c[j+4>>2];j=l+12|0;B=c[j>>2]|0;h=l+16|0;E=c[h>>2]|0;g=l+20|0;x=c[g>>2]|0;e=c[e>>2]|0;z=c[l+64>>2]|0;A=c[a+412>>2]|0;v=m+8|0;w=m+12|0;a:do if((x|0)==0){x=0;while(1){if((E|0)<8){if((hg(m,B,E,0)|0)==0)break a;B=c[v>>2]|0;E=c[w>>2]|0;if((E|0)<8){C=1;u=12}else u=10}else u=10;if((u|0)==10){u=0;C=B>>E+ -8&255;D=c[z+(C<<2)+144>>2]|0;if((D|0)==0){C=9;u=12}else{E=E-D|0;D=d[z+C+1168>>0]|0}}if((u|0)==12){u=0;D=ig(m,B,E,z,C)|0;if((D|0)<0)break a;E=c[w>>2]|0;B=c[v>>2]|0}C=D>>4;D=D&15;if((D|0)==1)u=16;else if((D|0)==0)if((C|0)==15){D=B;B=0}else break;else{c[(c[a>>2]|0)+20>>2]=121;rd[c[(c[a>>2]|0)+4>>2]&127](a,-1);u=16}if((u|0)==16){u=0;if((E|0)<1){if((hg(m,B,E,1)|0)==0)break a;E=c[w>>2]|0;B=c[v>>2]|0}G=E+ -1|0;E=G;D=B;B=(B&1<<G|0)==0?r:q}b:while(1){F=e+(c[t+(A<<2)>>2]<<1)|0;do if((b[F>>1]|0)==0)if((C|0)<1)break b;else C=C+ -1|0;else{if((E|0)<1){if((hg(m,D,E,1)|0)==0)break a;E=c[w>>2]|0;D=c[v>>2]|0}E=E+ -1|0;if((D&1<<E|0)!=0?(y=b[F>>1]|0,(y<<16>>16&q|0)==0):0){G=y&65535;if(y<<16>>16>-1){b[F>>1]=G+q;break}else{b[F>>1]=G+r;break}}}while(0);F=A+1|0;if((A|0)<(p|0))A=F;else{A=F;break}}if((B|0)!=0){G=c[t+(A<<2)>>2]|0;b[e+(G<<1)>>1]=B;c[o+(x<<2)>>2]=G;x=x+1|0}if((A|0)<(p|0)){B=D;A=A+1|0}else{a=0;B=D;u=53;break a}}a=1<<C;if((C|0)!=0){if((E|0)<(C|0)){if((hg(m,B,E,C)|0)==0)break;E=c[w>>2]|0;B=c[v>>2]|0}E=E-C|0;a=a+(B>>E&c[2456+(C<<2)>>2])|0;if((a|0)==0)u=53;else u=41}else u=41}else{a=x;x=0;u=41}while(0);c:do if((u|0)==41){while(1){y=e+(c[t+(A<<2)>>2]<<1)|0;do if((b[y>>1]|0)!=0){if((E|0)<1){if((hg(m,B,E,1)|0)==0)break c;E=c[w>>2]|0;B=c[v>>2]|0}E=E+ -1|0;if((B&1<<E|0)!=0?(s=b[y>>1]|0,(s<<16>>16&q|0)==0):0){z=s&65535;if(s<<16>>16>-1){b[y>>1]=z+q;break}else{b[y>>1]=z+r;break}}}while(0);if((A|0)<(p|0))A=A+1|0;else break}a=a+ -1|0;u=53}while(0);if((u|0)==53){c[c[n>>2]>>2]=c[m>>2];c[(c[n>>2]|0)+4>>2]=c[k>>2];c[j>>2]=B;c[h>>2]=E;c[g>>2]=a;break}while(1){if((x|0)==0){g=0;break}G=x+ -1|0;b[e+(c[o+(G<<2)>>2]<<1)>>1]=0;x=G}i=f;return g|0}while(0);G=l+44|0;c[G>>2]=(c[G>>2]|0)+ -1;G=1;i=f;return G|0}function dg(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;h=i;i=i+1296|0;m=h+1028|0;j=h;if((f|0)<0|(f|0)>3){c[(c[b>>2]|0)+20>>2]=52;c[(c[b>>2]|0)+24>>2]=f;qd[c[c[b>>2]>>2]&255](b)}e=(e|0)==0;if(e)k=b+(f<<2)+196|0;else k=b+(f<<2)+180|0;k=c[k>>2]|0;if((k|0)==0){c[(c[b>>2]|0)+20>>2]=52;c[(c[b>>2]|0)+24>>2]=f;qd[c[c[b>>2]>>2]&255](b)}f=c[g>>2]|0;if((f|0)==0){f=md[c[c[b+4>>2]>>2]&63](b,1,1424)|0;c[g>>2]=f;g=b}else g=b;c[f+140>>2]=k;l=0;n=1;while(1){if((n|0)>=17)break;o=d[k+n>>0]|0;if((l+o|0)>256){c[(c[b>>2]|0)+20>>2]=9;qd[c[c[b>>2]>>2]&255](g)}while(1){if((o|0)==0)break;a[m+l>>0]=n;o=o+ -1|0;l=l+1|0}n=n+1|0}a[m+l>>0]=0;n=a[m>>0]|0;o=n;p=0;q=0;n=n<<24>>24;while(1){if(o<<24>>24==0){o=0;m=1;break}while(1){if((o<<24>>24|0)!=(n|0))break;u=q+1|0;c[j+(q<<2)>>2]=p;o=a[m+u>>0]|0;p=p+1|0;q=u}if((p|0)>=(1<<n|0)){c[(c[b>>2]|0)+20>>2]=9;qd[c[c[b>>2]>>2]&255](g)}p=p<<1;n=n+1|0}while(1){if((m|0)>=17)break;n=k+m|0;if((a[n>>0]|0)==0)c[f+(m<<2)>>2]=-1;else{c[f+(m<<2)+72>>2]=o-(c[j+(o<<2)>>2]|0);o=o+(d[n>>0]|0)|0;c[f+(m<<2)>>2]=c[j+(o+ -1<<2)>>2]}m=m+1|0}c[f+68>>2]=1048575;st(f+144|0,0,1024)|0;s=0;o=1;while(1){if((o|0)>=9)break;m=k+o|0;p=8-o|0;n=1<<p;q=1;while(1){if((q|0)>(d[m>>0]|0))break;u=k+s+17|0;t=c[j+(s<<2)>>2]<<p;r=n;while(1){if((r|0)<=0)break;c[f+(t<<2)+144>>2]=o;a[f+t+1168>>0]=a[u>>0]|0;t=t+1|0;r=r+ -1|0}q=q+1|0;s=s+1|0}o=o+1|0}if(e){i=h;return}else j=0;while(1){if((j|0)>=(l|0))break;if((d[k+j+17>>0]|0)>15){c[(c[b>>2]|0)+20>>2]=9;qd[c[c[b>>2]>>2]&255](g)}j=j+1|0}i=h;return}function eg(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;f=i;i=i+48|0;t=f+20|0;s=f;u=c[a+468>>2]|0;if(((c[a+280>>2]|0)!=0?(c[u+44>>2]|0)==0:0)?(gg(a)|0)==0:0){D=0;i=f;return D|0}do if((c[u+40>>2]|0)==0){r=c[a+432>>2]|0;g=c[a+436>>2]|0;c[t+16>>2]=a;h=a+24|0;k=c[h>>2]|0;c[t>>2]=c[k>>2];j=t+4|0;c[j>>2]=c[k+4>>2];k=u+12|0;A=c[k>>2]|0;l=u+16|0;B=c[l>>2]|0;m=u+20|0;c[s+0>>2]=c[m+0>>2];c[s+4>>2]=c[m+4>>2];c[s+8>>2]=c[m+8>>2];c[s+12>>2]=c[m+12>>2];c[s+16>>2]=c[m+16>>2];p=a+368|0;o=t+8|0;n=t+12|0;q=0;a:while(1){if((q|0)>=(c[p>>2]|0)){x=59;break}w=c[e+(q<<2)>>2]|0;v=c[u+(q<<2)+100>>2]|0;if((B|0)<8){if((hg(t,A,B,0)|0)==0){g=0;x=61;break}A=c[o>>2]|0;B=c[n>>2]|0;if((B|0)<8){y=1;x=12}else x=10}else x=10;if((x|0)==10){x=0;y=A>>B+ -8&255;z=c[v+(y<<2)+144>>2]|0;if((z|0)==0){y=9;x=12}else{B=B-z|0;z=d[v+y+1168>>0]|0}}if((x|0)==12){z=ig(t,A,B,v,y)|0;if((z|0)<0){g=0;x=61;break}B=c[n>>2]|0;A=c[o>>2]|0}v=c[u+(q<<2)+140>>2]|0;y=c[u+(q<<2)+180>>2]|0;x=(z|0)==0;b:do if((y|0)==0)if(x){z=1;x=42}else{if((B|0)<(z|0)){if((hg(t,A,B,z)|0)==0){g=0;x=61;break a}B=c[n>>2]|0;A=c[o>>2]|0}B=B-z|0;z=1;x=42}else{if(x)x=0;else{if((B|0)<(z|0)){if((hg(t,A,B,z)|0)==0){g=0;x=61;break a}B=c[n>>2]|0;A=c[o>>2]|0}B=B-z|0;x=c[2456+(z<<2)>>2]|0;D=A>>B&x;x=(D|0)>(c[2456+(z+ -1<<2)>>2]|0)?D:D-x|0}D=s+(c[a+(q<<2)+372>>2]<<2)+4|0;z=x+(c[D>>2]|0)|0;c[D>>2]=z;b[w>>1]=z;z=1;while(1){if((z|0)>=(y|0)){x=42;break b}if((B|0)<8){if((hg(t,A,B,0)|0)==0){g=0;x=61;break a}A=c[o>>2]|0;B=c[n>>2]|0;if((B|0)<8){C=1;x=27}else x=25}else x=25;if((x|0)==25){x=0;C=A>>B+ -8&255;D=c[v+(C<<2)+144>>2]|0;if((D|0)==0){C=9;x=27}else{B=B-D|0;C=d[v+C+1168>>0]|0}}if((x|0)==27){x=0;C=ig(t,A,B,v,C)|0;if((C|0)<0){g=0;x=61;break a}B=c[n>>2]|0;A=c[o>>2]|0}D=C>>4;C=C&15;if((C|0)==0){if((D|0)!=15)break b;x=z+15|0}else{x=z+D|0;if((B|0)<(C|0)){if((hg(t,A,B,C)|0)==0){g=0;x=61;break a}B=c[n>>2]|0;A=c[o>>2]|0}B=B-C|0;D=c[2456+(C<<2)>>2]|0;z=A>>B&D;b[w+(c[r+(x<<2)>>2]<<1)>>1]=(z|0)>(c[2456+(C+ -1<<2)>>2]|0)?z:z-D|0}z=x+1|0}}while(0);c:do if((x|0)==42)while(1){if((z|0)>(g|0))break c;if((B|0)<8){if((hg(t,A,B,0)|0)==0){g=0;x=61;break a}A=c[o>>2]|0;B=c[n>>2]|0;if((B|0)<8){w=1;x=48}else x=46}else x=46;if((x|0)==46){x=0;w=A>>B+ -8&255;y=c[v+(w<<2)+144>>2]|0;if((y|0)==0){w=9;x=48}else{B=B-y|0;w=d[v+w+1168>>0]|0}}if((x|0)==48){w=ig(t,A,B,v,w)|0;if((w|0)<0){g=0;x=61;break a}B=c[n>>2]|0;A=c[o>>2]|0}x=w>>4;w=w&15;if((w|0)==0){if((x|0)!=15)break c;x=z+15|0}else{x=z+x|0;if((B|0)<(w|0)){if((hg(t,A,B,w)|0)==0){g=0;x=61;break a}B=c[n>>2]|0;A=c[o>>2]|0}B=B-w|0}z=x+1|0;x=42}while(0);q=q+1|0}if((x|0)==59){c[c[h>>2]>>2]=c[t>>2];c[(c[h>>2]|0)+4>>2]=c[j>>2];c[k>>2]=A;c[l>>2]=B;c[m+0>>2]=c[s+0>>2];c[m+4>>2]=c[s+4>>2];c[m+8>>2]=c[s+8>>2];c[m+12>>2]=c[s+12>>2];c[m+16>>2]=c[s+16>>2];break}else if((x|0)==61){i=f;return g|0}}while(0);D=u+44|0;c[D>>2]=(c[D>>2]|0)+ -1;D=1;i=f;return D|0}function fg(a,e){a=a|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;f=i;i=i+48|0;r=f+20|0;h=f;s=c[a+468>>2]|0;if(((c[a+280>>2]|0)!=0?(c[s+44>>2]|0)==0:0)?(gg(a)|0)==0:0){B=0;i=f;return B|0}do if((c[s+40>>2]|0)==0){c[r+16>>2]=a;j=a+24|0;l=c[j>>2]|0;c[r>>2]=c[l>>2];k=r+4|0;c[k>>2]=c[l+4>>2];l=s+12|0;y=c[l>>2]|0;m=s+16|0;z=c[m>>2]|0;n=s+20|0;c[h+0>>2]=c[n+0>>2];c[h+4>>2]=c[n+4>>2];c[h+8>>2]=c[n+8>>2];c[h+12>>2]=c[n+12>>2];c[h+16>>2]=c[n+16>>2];g=a+368|0;p=r+8|0;o=r+12|0;q=0;a:while(1){if((q|0)>=(c[g>>2]|0)){v=59;break}u=c[e+(q<<2)>>2]|0;t=c[s+(q<<2)+100>>2]|0;if((z|0)<8){if((hg(r,y,z,0)|0)==0){g=0;v=61;break}y=c[p>>2]|0;z=c[o>>2]|0;if((z|0)<8){w=1;v=12}else v=10}else v=10;if((v|0)==10){v=0;w=y>>z+ -8&255;x=c[t+(w<<2)+144>>2]|0;if((x|0)==0){w=9;v=12}else{z=z-x|0;x=d[t+w+1168>>0]|0}}if((v|0)==12){x=ig(r,y,z,t,w)|0;if((x|0)<0){g=0;v=61;break}z=c[o>>2]|0;y=c[p>>2]|0}t=c[s+(q<<2)+140>>2]|0;w=c[s+(q<<2)+180>>2]|0;v=(x|0)==0;b:do if((w|0)==0)if(v){x=1;v=42}else{if((z|0)<(x|0)){if((hg(r,y,z,x)|0)==0){g=0;v=61;break a}z=c[o>>2]|0;y=c[p>>2]|0}z=z-x|0;x=1;v=42}else{if(v)v=0;else{if((z|0)<(x|0)){if((hg(r,y,z,x)|0)==0){g=0;v=61;break a}z=c[o>>2]|0;y=c[p>>2]|0}z=z-x|0;v=c[2456+(x<<2)>>2]|0;B=y>>z&v;v=(B|0)>(c[2456+(x+ -1<<2)>>2]|0)?B:B-v|0}B=h+(c[a+(q<<2)+372>>2]<<2)+4|0;x=v+(c[B>>2]|0)|0;c[B>>2]=x;b[u>>1]=x;x=1;while(1){if((x|0)>=(w|0)){v=42;break b}if((z|0)<8){if((hg(r,y,z,0)|0)==0){g=0;v=61;break a}y=c[p>>2]|0;z=c[o>>2]|0;if((z|0)<8){A=1;v=27}else v=25}else v=25;if((v|0)==25){v=0;A=y>>z+ -8&255;B=c[t+(A<<2)+144>>2]|0;if((B|0)==0){A=9;v=27}else{z=z-B|0;A=d[t+A+1168>>0]|0}}if((v|0)==27){v=0;A=ig(r,y,z,t,A)|0;if((A|0)<0){g=0;v=61;break a}z=c[o>>2]|0;y=c[p>>2]|0}B=A>>4;A=A&15;if((A|0)==0){if((B|0)!=15)break b;v=x+15|0}else{v=x+B|0;if((z|0)<(A|0)){if((hg(r,y,z,A)|0)==0){g=0;v=61;break a}z=c[o>>2]|0;y=c[p>>2]|0}z=z-A|0;B=c[2456+(A<<2)>>2]|0;x=y>>z&B;b[u+(c[8432+(v<<2)>>2]<<1)>>1]=(x|0)>(c[2456+(A+ -1<<2)>>2]|0)?x:x-B|0}x=v+1|0}}while(0);c:do if((v|0)==42)while(1){if((x|0)>=64)break c;if((z|0)<8){if((hg(r,y,z,0)|0)==0){g=0;v=61;break a}y=c[p>>2]|0;z=c[o>>2]|0;if((z|0)<8){u=1;v=48}else v=46}else v=46;if((v|0)==46){v=0;u=y>>z+ -8&255;w=c[t+(u<<2)+144>>2]|0;if((w|0)==0){u=9;v=48}else{z=z-w|0;u=d[t+u+1168>>0]|0}}if((v|0)==48){u=ig(r,y,z,t,u)|0;if((u|0)<0){g=0;v=61;break a}z=c[o>>2]|0;y=c[p>>2]|0}w=u>>4;v=u&15;if((v|0)==0){if((w|0)!=15)break c;u=x+15|0}else{u=x+w|0;if((z|0)<(v|0)){if((hg(r,y,z,v)|0)==0){g=0;v=61;break a}z=c[o>>2]|0;y=c[p>>2]|0}z=z-v|0}x=u+1|0;v=42}while(0);q=q+1|0}if((v|0)==59){c[c[j>>2]>>2]=c[r>>2];c[(c[j>>2]|0)+4>>2]=c[k>>2];c[l>>2]=y;c[m>>2]=z;c[n+0>>2]=c[h+0>>2];c[n+4>>2]=c[h+4>>2];c[n+8>>2]=c[h+8>>2];c[n+12>>2]=c[h+12>>2];c[n+16>>2]=c[h+16>>2];break}else if((v|0)==61){i=f;return g|0}}while(0);B=s+44|0;c[B>>2]=(c[B>>2]|0)+ -1;B=1;i=f;return B|0}function gg(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;d=c[a+468>>2]|0;f=a+464|0;e=(c[f>>2]|0)+24|0;c[e>>2]=(c[e>>2]|0)+((c[d+16>>2]|0)/8|0);c[d+16>>2]=0;if((ud[c[(c[f>>2]|0)+8>>2]&127](a)|0)==0){f=0;i=b;return f|0}e=a+340|0;f=0;while(1){if((f|0)>=(c[e>>2]|0))break;c[d+(f<<2)+24>>2]=0;f=f+1|0}c[d+20>>2]=0;c[d+44>>2]=c[a+280>>2];if((c[a+440>>2]|0)!=0){f=1;i=b;return f|0}c[d+40>>2]=0;f=1;i=b;return f|0}function hg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;g=i;n=c[b>>2]|0;j=b+4|0;o=c[j>>2]|0;k=c[b+16>>2]|0;m=k+440|0;a:do if((c[m>>2]|0)==0){l=k+24|0;b:while(1){if((e|0)>=25){k=e;break a}if((o|0)==0){if((ud[c[(c[l>>2]|0)+12>>2]&127](k)|0)==0){b=0;h=19;break}p=c[l>>2]|0;o=c[p+4>>2]|0;p=c[p>>2]|0}else p=n;o=o+ -1|0;n=p+1|0;q=a[p>>0]|0;p=q&255;if(q<<24>>24==-1)while(1){if((o|0)==0){if((ud[c[(c[l>>2]|0)+12>>2]&127](k)|0)==0){b=0;h=19;break b}p=c[l>>2]|0;o=c[p+4>>2]|0;p=c[p>>2]|0}else p=n;o=o+ -1|0;n=p+1|0;p=a[p>>0]|0;q=p&255;if(!(p<<24>>24==-1))if(p<<24>>24==0){p=255;break}else{h=12;break b}}e=e+8|0;d=d<<8|p}if((h|0)==12){c[m>>2]=q;h=14;break}else if((h|0)==19){i=g;return b|0}}else h=14;while(0);if((h|0)==14)if((e|0)<(f|0)){h=k+468|0;if((c[(c[h>>2]|0)+40>>2]|0)==0){c[(c[k>>2]|0)+20>>2]=120;rd[c[(c[k>>2]|0)+4>>2]&127](k,-1);c[(c[h>>2]|0)+40>>2]=1}k=25;d=d<<25-e}else k=e;c[b>>2]=n;c[j>>2]=o;c[b+8>>2]=d;c[b+12>>2]=k;q=1;i=g;return q|0}function ig(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0;j=i;do if((e|0)<(g|0))if((hg(a,b,e,g)|0)==0){m=-1;i=j;return m|0}else{l=a+8|0;k=a+12|0;e=c[k>>2]|0;b=c[l>>2]|0;break}else{k=a+12|0;l=a+8|0}while(0);m=e-g|0;e=m;m=b>>m&c[2456+(g<<2)>>2];while(1){if((m|0)<=(c[f+(g<<2)>>2]|0))break;m=m<<1;if((e|0)<1){if((hg(a,b,e,1)|0)==0){a=-1;h=14;break}e=c[k>>2]|0;b=c[l>>2]|0}n=e+ -1|0;e=n;m=m|b>>>n&1;g=g+1|0}if((h|0)==14){i=j;return a|0}c[l>>2]=b;c[k>>2]=e;if((g|0)>16){n=a+16|0;c[(c[c[n>>2]>>2]|0)+20>>2]=121;n=c[n>>2]|0;rd[c[(c[n>>2]|0)+4>>2]&127](n,-1);n=0;i=j;return n|0}else{n=d[(c[f+140>>2]|0)+(m+(c[f+(g<<2)+72>>2]|0))+17>>0]|0;i=j;return n|0}return 0}function jg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;b=i;y=a+460|0;e=c[y>>2]|0;if((c[e+20>>2]|0)!=0){I=2;i=b;return I|0}g=a+464|0;h=e+24|0;k=e+16|0;j=a+340|0;n=a+32|0;D=a+212|0;q=a+36|0;s=a+316|0;l=a+320|0;v=a+216|0;C=a+220|0;p=a+224|0;z=a+416|0;f=a+412|0;A=a+420|0;B=a+424|0;m=a+428|0;w=a+432|0;x=a+436|0;t=a+324|0;u=a+328|0;r=a+28|0;o=a+332|0;while(1){E=ud[c[(c[g>>2]|0)+4>>2]&127](a)|0;if((E|0)==2){d=54;break}else if((E|0)==0){a=0;d=60;break}else if((E|0)!=1){d=59;break}E=c[h>>2]|0;if((E|0)==1)d=5;else if((E|0)==0){if((c[k>>2]|0)==0){c[(c[a>>2]|0)+20>>2]=36;qd[c[c[a>>2]>>2]&255](a)}if((c[j>>2]|0)==0)continue;else{d=53;break}}do if((d|0)==5){d=0;if(!((c[n>>2]|0)<=65500?(c[r>>2]|0)<=65500:0)){c[(c[a>>2]|0)+20>>2]=42;c[(c[a>>2]|0)+24>>2]=65500;qd[c[c[a>>2]>>2]&255](a)}I=c[D>>2]|0;if((I|0)<8|(I|0)>12){c[(c[a>>2]|0)+20>>2]=16;c[(c[a>>2]|0)+24>>2]=c[D>>2];qd[c[c[a>>2]>>2]&255](a)}if((c[q>>2]|0)>10){c[(c[a>>2]|0)+20>>2]=27;c[(c[a>>2]|0)+24>>2]=c[q>>2];c[(c[a>>2]|0)+28>>2]=10;qd[c[c[a>>2]>>2]&255](a)}c[s>>2]=1;c[l>>2]=1;G=1;F=0;E=c[v>>2]|0;while(1){if((F|0)>=(c[q>>2]|0))break;I=E+8|0;H=c[I>>2]|0;if(!(!((H|0)<1|(H|0)>4)?(J=c[E+12>>2]|0,!((J|0)<1|(J|0)>4)):0)){c[(c[a>>2]|0)+20>>2]=19;qd[c[c[a>>2]>>2]&255](a);H=c[I>>2]|0;G=c[s>>2]|0}G=(G|0)>(H|0)?G:H;c[s>>2]=G;I=c[l>>2]|0;J=c[E+12>>2]|0;c[l>>2]=(I|0)>(J|0)?I:J;F=F+1|0;E=E+88|0}a:do if((c[C>>2]|0)==0){if((c[p>>2]|0)!=0?(c[j>>2]|0)!=0:0){d=21;break}do switch(c[z>>2]|0){case 0:{c[m>>2]=1;c[w>>2]=8432;c[x>>2]=0;E=1;break a};case 24:{c[m>>2]=5;c[w>>2]=9224;c[x>>2]=24;E=5;break a};case 35:{c[m>>2]=6;c[w>>2]=9016;c[x>>2]=35;E=6;break a};case 15:{c[m>>2]=4;c[w>>2]=9392;c[x>>2]=15;E=4;break a};case 168:{c[m>>2]=13;c[w>>2]=8432;c[x>>2]=63;E=13;break a};case 195:{c[m>>2]=14;c[w>>2]=8432;c[x>>2]=63;E=14;break a};case 48:{c[m>>2]=7;c[w>>2]=8752;c[x>>2]=48;E=7;break a};case 8:{c[m>>2]=3;c[w>>2]=9520;c[x>>2]=8;E=3;break a};case 143:{c[m>>2]=12;c[w>>2]=8432;c[x>>2]=63;E=12;break a};case 255:{c[m>>2]=16;c[w>>2]=8432;c[x>>2]=63;E=16;break a};case 3:{c[m>>2]=2;c[w>>2]=9624;c[x>>2]=3;E=2;break a};case 80:{c[m>>2]=9;c[w>>2]=8432;c[x>>2]=63;E=9;break a};case 224:{c[m>>2]=15;c[w>>2]=8432;c[x>>2]=63;E=15;break a};case 120:{c[m>>2]=11;c[w>>2]=8432;c[x>>2]=63;E=11;break a};case 63:{c[m>>2]=8;c[w>>2]=8432;c[x>>2]=63;E=8;break a};case 99:{c[m>>2]=10;c[w>>2]=8432;c[x>>2]=63;E=10;break a};default:{c[(c[a>>2]|0)+20>>2]=17;c[(c[a>>2]|0)+24>>2]=c[f>>2];c[(c[a>>2]|0)+28>>2]=c[z>>2];c[(c[a>>2]|0)+32>>2]=c[A>>2];c[(c[a>>2]|0)+36>>2]=c[B>>2];qd[c[c[a>>2]>>2]&255](a);E=c[m>>2]|0;break a}}while(0)}else d=21;while(0);if((d|0)==21){d=0;c[m>>2]=8;c[w>>2]=8432;c[x>>2]=63;E=8}c[t>>2]=E;c[u>>2]=E;G=0;F=c[v>>2]|0;while(1){E=c[q>>2]|0;if((G|0)>=(E|0))break;c[F+36>>2]=c[m>>2];c[F+40>>2]=c[m>>2];H=c[F+8>>2]|0;E=da(c[r>>2]|0,H)|0;I=da(c[s>>2]|0,c[m>>2]|0)|0;c[F+28>>2]=(E+I+ -1|0)/(I|0)|0;I=c[F+12>>2]|0;E=da(c[n>>2]|0,I)|0;J=da(c[l>>2]|0,c[m>>2]|0)|0;c[F+32>>2]=(E+J+ -1|0)/(J|0)|0;H=da(c[r>>2]|0,H)|0;J=c[s>>2]|0;c[F+44>>2]=(H+J+ -1|0)/(J|0)|0;I=da(c[n>>2]|0,I)|0;J=c[l>>2]|0;c[F+48>>2]=(I+J+ -1|0)/(J|0)|0;c[F+52>>2]=1;c[F+80>>2]=0;G=G+1|0;F=F+88|0}J=da(c[l>>2]|0,c[m>>2]|0)|0;c[o>>2]=((c[n>>2]|0)+J+ -1|0)/(J|0)|0;if((c[j>>2]|0)>=(E|0)?(c[p>>2]|0)==0:0){c[(c[y>>2]|0)+16>>2]=0;break}c[(c[y>>2]|0)+16>>2]=1}while(0);if((c[j>>2]|0)!=0){d=49;break}c[h>>2]=2}if((d|0)==49){c[h>>2]=0;J=1;i=b;return J|0}else if((d|0)==53){lg(a);J=1;i=b;return J|0}else if((d|0)==54){c[e+20>>2]=1;if((c[h>>2]|0)==0){d=a+152|0;a=c[a+144>>2]|0;if((c[d>>2]|0)<=(a|0)){J=2;i=b;return J|0}c[d>>2]=a;J=2;i=b;return J|0}else{if((c[(c[g>>2]|0)+16>>2]|0)==0){J=2;i=b;return J|0}c[(c[a>>2]|0)+20>>2]=62;qd[c[c[a>>2]>>2]&255](a);J=2;i=b;return J|0}}else if((d|0)==59){J=E;i=b;return J|0}else if((d|0)==60){i=b;return a|0}return 0}function kg(a){a=a|0;var b=0,d=0;b=i;d=c[a+460>>2]|0;c[d>>2]=87;c[d+16>>2]=0;c[d+20>>2]=0;c[d+24>>2]=1;qd[c[(c[a>>2]|0)+16>>2]&255](a);qd[c[c[a+464>>2]>>2]&255](a);c[a+160>>2]=0;i=b;return}function lg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;e=i;b=a+340|0;f=c[b>>2]|0;a:do if((f|0)==1){f=c[a+344>>2]|0;c[a+360>>2]=c[f+28>>2];j=f+32|0;c[a+364>>2]=c[j>>2];c[f+56>>2]=1;c[f+60>>2]=1;c[f+64>>2]=1;c[f+68>>2]=c[f+36>>2];c[f+72>>2]=1;l=c[f+12>>2]|0;j=((c[j>>2]|0)>>>0)%(l>>>0)|0;c[f+76>>2]=(j|0)==0?l:j;c[a+368>>2]=1;c[a+372>>2]=0;f=a;j=a}else{if((f|0)<1|(f|0)>4){c[(c[a>>2]|0)+20>>2]=27;c[(c[a>>2]|0)+24>>2]=c[b>>2];c[(c[a>>2]|0)+28>>2]=4;qd[c[c[a>>2]>>2]&255](a);f=a;j=a}else{f=a;j=a}g=c[a+428>>2]|0;h=da(c[a+316>>2]|0,g)|0;c[a+360>>2]=((c[a+28>>2]|0)+h+ -1|0)/(h|0)|0;g=da(c[a+320>>2]|0,g)|0;c[a+364>>2]=((c[a+32>>2]|0)+g+ -1|0)/(g|0)|0;g=a+368|0;c[g>>2]=0;h=0;while(1){if((h|0)>=(c[b>>2]|0))break a;l=c[a+(h<<2)+344>>2]|0;o=c[l+8>>2]|0;c[l+56>>2]=o;n=c[l+12>>2]|0;c[l+60>>2]=n;k=da(o,n)|0;c[l+64>>2]=k;c[l+68>>2]=da(o,c[l+36>>2]|0)|0;m=((c[l+28>>2]|0)>>>0)%(o>>>0)|0;c[l+72>>2]=(m|0)==0?o:m;m=((c[l+32>>2]|0)>>>0)%(n>>>0)|0;c[l+76>>2]=(m|0)==0?n:m;if(((c[g>>2]|0)+k|0)>10){c[(c[j>>2]|0)+20>>2]=14;qd[c[c[j>>2]>>2]&255](f)}while(1){if((k|0)<=0)break;o=c[g>>2]|0;c[g>>2]=o+1;c[a+(o<<2)+372>>2]=h;k=k+ -1|0}h=h+1|0}}while(0);h=a+4|0;g=0;while(1){if((g|0)>=(c[b>>2]|0))break;l=c[a+(g<<2)+344>>2]|0;k=l+80|0;if((c[k>>2]|0)==0){l=c[l+16>>2]|0;if(!((l|0)<0|(l|0)>3)?(d=a+(l<<2)+164|0,(c[d>>2]|0)!=0):0)l=d;else{c[(c[j>>2]|0)+20>>2]=54;c[(c[j>>2]|0)+24>>2]=l;qd[c[c[j>>2]>>2]&255](f);l=a+(l<<2)+164|0}o=md[c[c[h>>2]>>2]&63](f,1,132)|0;pt(o|0,c[l>>2]|0,132)|0;c[k>>2]=o}g=g+1|0}qd[c[c[a+468>>2]>>2]&255](a);o=a+452|0;qd[c[c[o>>2]>>2]&255](a);c[c[a+460>>2]>>2]=c[(c[o>>2]|0)+4>>2];i=e;return}function mg(a){a=a|0;var b=0;b=i;qd[c[(c[a+468>>2]|0)+8>>2]&255](a);c[c[a+460>>2]>>2]=87;i=b;return}function ng(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;f=i;d=a+4|0;e=md[c[c[d>>2]>>2]&63](a,1,80)|0;g=a+448|0;c[g>>2]=e;c[e>>2]=66;if((b|0)!=0){c[(c[a>>2]|0)+20>>2]=3;qd[c[c[a>>2]>>2]&255](a)}b=a+328|0;l=c[b>>2]|0;if((c[(c[a+476>>2]|0)+8>>2]|0)==0){k=a+216|0;g=a+36|0}else{if((l|0)<2){c[(c[a>>2]|0)+20>>2]=48;qd[c[c[a>>2]>>2]&255](a);l=c[b>>2]|0}h=c[g>>2]|0;g=a+36|0;k=md[c[c[d>>2]>>2]&63](a,1,c[g>>2]<<3)|0;j=h+56|0;c[j>>2]=k;h=h+60|0;c[h>>2]=k+(c[g>>2]<<2);k=a+216|0;l=l+4|0;n=0;m=c[k>>2]|0;while(1){if((n|0)>=(c[g>>2]|0))break;p=da(c[m+12>>2]|0,c[m+40>>2]|0)|0;p=(p|0)/(c[b>>2]|0)|0;o=da(p,l)|0;q=md[c[c[d>>2]>>2]&63](a,1,o<<3)|0;c[(c[j>>2]|0)+(n<<2)>>2]=q+(p<<2);c[(c[h>>2]|0)+(n<<2)>>2]=q+(p+o<<2);n=n+1|0;m=m+88|0}l=(c[b>>2]|0)+2|0}h=a+328|0;b=0;j=c[k>>2]|0;while(1){if((b|0)>=(c[g>>2]|0))break;q=da(c[j+12>>2]|0,c[j+40>>2]|0)|0;p=da(c[j+28>>2]|0,c[j+36>>2]|0)|0;q=da((q|0)/(c[h>>2]|0)|0,l)|0;c[e+(b<<2)+8>>2]=Ad[c[(c[d>>2]|0)+8>>2]&31](a,1,p,q)|0;b=b+1|0;j=j+88|0}i=f;return}function og(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;d=i;f=a+448|0;e=c[f>>2]|0;if((b|0)==2){c[e+4>>2]=38;i=d;return}else if((b|0)==0){b=e+4|0;if((c[(c[a+476>>2]|0)+8>>2]|0)==0)c[b>>2]=37;else{c[b>>2]=36;n=c[f>>2]|0;k=a+328|0;h=c[k>>2]|0;b=a+36|0;l=n+56|0;m=n+60|0;f=h+2|0;j=h+ -2|0;g=0;o=c[a+216>>2]|0;while(1){if((g|0)>=(c[b>>2]|0))break;p=da(c[o+12>>2]|0,c[o+40>>2]|0)|0;p=(p|0)/(c[k>>2]|0)|0;a=c[(c[l>>2]|0)+(g<<2)>>2]|0;r=c[(c[m>>2]|0)+(g<<2)>>2]|0;q=c[n+(g<<2)+8>>2]|0;s=da(p,f)|0;t=0;while(1){if((t|0)>=(s|0))break;v=c[q+(t<<2)>>2]|0;c[r+(t<<2)>>2]=v;c[a+(t<<2)>>2]=v;t=t+1|0}v=p<<1;t=da(p,h)|0;s=da(p,j)|0;u=0;while(1){if((u|0)>=(v|0)){q=0;break}w=t+u|0;x=s+u|0;c[r+(x<<2)>>2]=c[q+(w<<2)>>2];c[r+(w<<2)>>2]=c[q+(x<<2)>>2];u=u+1|0}while(1){if((q|0)>=(p|0))break;c[a+(q-p<<2)>>2]=c[a>>2];q=q+1|0}g=g+1|0;o=o+88|0}c[e+64>>2]=0;c[e+68>>2]=0;c[e+76>>2]=0}c[e+48>>2]=0;c[e+52>>2]=0;i=d;return}else{c[(c[a>>2]|0)+20>>2]=3;qd[c[c[a>>2]>>2]&255](a);i=d;return}}function pg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;f=i;j=a+448|0;h=c[j>>2]|0;do if((c[h+48>>2]|0)==0)if((Dd[c[(c[a+452>>2]|0)+12>>2]&127](a,c[h+(c[h+64>>2]<<2)+56>>2]|0)|0)==0){i=f;return}else{c[h+48>>2]=1;w=h+76|0;c[w>>2]=(c[w>>2]|0)+1;break}while(0);g=h+68|0;k=c[g>>2]|0;if((k|0)==1){k=h+52|0;l=h+72|0}else if((k|0)==0){k=h+52|0;l=h+72|0;m=9}else if((k|0)==2){k=h+52|0;l=h+72|0;nd[c[(c[a+456>>2]|0)+4>>2]&127](a,c[h+(c[h+64>>2]<<2)+56>>2]|0,k,c[l>>2]|0,b,d,e);if((c[k>>2]|0)>>>0<(c[l>>2]|0)>>>0){i=f;return}c[g>>2]=0;if((c[d>>2]|0)>>>0<e>>>0)m=9;else{i=f;return}}else{i=f;return}if((m|0)==9){c[k>>2]=0;p=a+328|0;c[l>>2]=(c[p>>2]|0)+ -1;a:do if((c[h+76>>2]|0)==(c[a+332>>2]|0)){r=c[j>>2]|0;o=a+36|0;n=r+64|0;m=0;q=c[a+216>>2]|0;while(1){if((m|0)>=(c[o>>2]|0))break a;v=da(c[q+12>>2]|0,c[q+40>>2]|0)|0;u=(v|0)/(c[p>>2]|0)|0;s=((c[q+48>>2]|0)>>>0)%(v>>>0)|0;s=(s|0)==0?v:s;v=s+ -1|0;if((m|0)==0)c[r+72>>2]=((v|0)/(u|0)|0)+1;t=c[(c[r+(c[n>>2]<<2)+56>>2]|0)+(m<<2)>>2]|0;u=u<<1;w=t+(v<<2)|0;v=0;while(1){if((v|0)>=(u|0))break;c[t+(s+v<<2)>>2]=c[w>>2];v=v+1|0}m=m+1|0;q=q+88|0}}while(0);c[g>>2]=1}m=h+64|0;nd[c[(c[a+456>>2]|0)+4>>2]&127](a,c[h+(c[m>>2]<<2)+56>>2]|0,k,c[l>>2]|0,b,d,e);if((c[k>>2]|0)>>>0<(c[l>>2]|0)>>>0){i=f;return}b:do if((c[h+76>>2]|0)==1){e=c[j>>2]|0;d=a+328|0;n=c[d>>2]|0;o=a+36|0;p=e+56|0;e=e+60|0;j=n+1|0;n=n+2|0;b=0;u=c[a+216>>2]|0;while(1){if((b|0)>=(c[o>>2]|0))break b;v=da(c[u+12>>2]|0,c[u+40>>2]|0)|0;v=(v|0)/(c[d>>2]|0)|0;q=c[(c[p>>2]|0)+(b<<2)>>2]|0;a=c[(c[e>>2]|0)+(b<<2)>>2]|0;s=da(v,j)|0;t=da(v,n)|0;r=0;while(1){if((r|0)>=(v|0))break;x=s+r|0;w=r-v|0;c[q+(w<<2)>>2]=c[q+(x<<2)>>2];c[a+(w<<2)>>2]=c[a+(x<<2)>>2];w=t+r|0;c[q+(w<<2)>>2]=c[q+(r<<2)>>2];c[a+(w<<2)>>2]=c[a+(r<<2)>>2];r=r+1|0}b=b+1|0;u=u+88|0}}else d=a+328|0;while(0);c[m>>2]=c[m>>2]^1;c[h+48>>2]=0;c[k>>2]=(c[d>>2]|0)+1;c[l>>2]=(c[d>>2]|0)+2;c[g>>2]=2;i=f;return}function qg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;g=c[a+448>>2]|0;do if((c[g+48>>2]|0)==0){j=g+8|0;if((Dd[c[(c[a+452>>2]|0)+12>>2]&127](a,j)|0)==0){i=f;return}else{c[g+48>>2]=1;break}}else j=g+8|0;while(0);k=c[a+328>>2]|0;h=g+52|0;nd[c[(c[a+456>>2]|0)+4>>2]&127](a,j,h,k,b,d,e);if((c[h>>2]|0)>>>0<k>>>0){i=f;return}c[g+48>>2]=0;c[h>>2]=0;i=f;return}function rg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;nd[c[(c[a+456>>2]|0)+4>>2]&127](a,0,0,0,b,d,e);i=f;return}function sg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;e=a+440|0;j=c[e>>2]|0;c[(c[a>>2]|0)+20>>2]=124;c[(c[a>>2]|0)+24>>2]=j;c[(c[a>>2]|0)+28>>2]=b;rd[c[(c[a>>2]|0)+4>>2]&127](a,-1);f=b+1&7|208;g=b+2&7|208;h=b+7&7|208;b=b+6&7|208;while(1){if((j|0)>=192)if((j|0)<208|(j|0)>215|(j|0)==(f|0)|(j|0)==(g|0))k=3;else k=(j|0)==(h|0)|(j|0)==(b|0)?2:1;else k=2;c[(c[a>>2]|0)+20>>2]=99;c[(c[a>>2]|0)+24>>2]=j;c[(c[a>>2]|0)+28>>2]=k;rd[c[(c[a>>2]|0)+4>>2]&127](a,4);if((k|0)==1){f=6;break}else if((k|0)==3){e=1;f=9;break}else if((k|0)!=2)continue;if((tg(a)|0)==0){e=0;f=9;break}j=c[e>>2]|0}if((f|0)==6){c[e>>2]=0;k=1;i=d;return k|0}else if((f|0)==9){i=d;return e|0}return 0}function tg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;d=i;e=c[b+24>>2]|0;g=e+4|0;h=e+12|0;f=b+464|0;k=c[g>>2]|0;j=c[e>>2]|0;a:while(1){if((k|0)==0){if((ud[c[h>>2]&127](b)|0)==0){b=0;h=19;break}k=c[g>>2]|0;l=c[e>>2]|0}else l=j;j=a[l>>0]|0;while(1){k=k+ -1|0;l=l+1|0;if((j&255|0)==255){j=l;break}m=(c[f>>2]|0)+24|0;c[m>>2]=(c[m>>2]|0)+1;c[e>>2]=l;c[g>>2]=k;if((k|0)==0){if((ud[c[h>>2]&127](b)|0)==0){b=0;h=19;break a}k=c[g>>2]|0;l=c[e>>2]|0}j=a[l>>0]|0}while(1){if((k|0)==0){if((ud[c[h>>2]&127](b)|0)==0){b=0;h=19;break a}k=c[g>>2]|0;l=c[e>>2]|0}else l=j;k=k+ -1|0;j=l+1|0;m=a[l>>0]|0;l=m&255;if(!(m<<24>>24==-1))if(m<<24>>24==0)break;else{h=16;break a}}m=(c[f>>2]|0)+24|0;c[m>>2]=(c[m>>2]|0)+2;c[e>>2]=j;c[g>>2]=k}if((h|0)==16){if((c[(c[f>>2]|0)+24>>2]|0)!=0){c[(c[b>>2]|0)+20>>2]=119;c[(c[b>>2]|0)+24>>2]=c[(c[f>>2]|0)+24>>2];c[(c[b>>2]|0)+28>>2]=l;rd[c[(c[b>>2]|0)+4>>2]&127](b,-1);c[(c[f>>2]|0)+24>>2]=0}c[b+440>>2]=l;c[e>>2]=j;c[g>>2]=k;m=1;i=d;return m|0}else if((h|0)==19){i=d;return b|0}return 0}function ug(a){a=a|0;var b=0,d=0,e=0,f=0;e=i;b=md[c[c[a+4>>2]>>2]&63](a,0,172)|0;d=a+464|0;c[d>>2]=b;c[b>>2]=157;c[b+4>>2]=88;c[b+8>>2]=89;c[b+28>>2]=90;c[b+96>>2]=0;f=0;while(1){if((f|0)>=16)break;c[b+(f<<2)+32>>2]=90;c[b+(f<<2)+100>>2]=0;f=f+1|0}c[b+32>>2]=91;c[b+88>>2]=91;f=c[d>>2]|0;c[a+216>>2]=0;c[a+144>>2]=0;c[a+440>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+24>>2]=0;c[f+164>>2]=0;i=e;return}function vg(a){a=a|0;var b=0;b=c[a+464>>2]|0;c[a+216>>2]=0;c[a+144>>2]=0;c[a+440>>2]=0;c[b+12>>2]=0;c[b+16>>2]=0;c[b+24>>2]=0;c[b+164>>2]=0;return}function wg(f){f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,aa=0,ba=0,ca=0,da=0,ea=0,fa=0,ga=0,ha=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0;g=i;i=i+288|0;x=g+256|0;O=g;j=f+440|0;h=f+464|0;_=f+24|0;ca=f+280|0;H=f+40|0;Q=f+304|0;K=f+308|0;p=f+284|0;q=f+288|0;r=f+289|0;s=f+290|0;t=f+292|0;u=f+294|0;v=f+296|0;w=f+300|0;y=x+1|0;z=x+2|0;A=x+3|0;B=x+4|0;C=x+5|0;D=x+6|0;E=x+7|0;F=x+8|0;G=x+9|0;da=x+10|0;I=x+11|0;J=x+12|0;o=x+13|0;L=x+14|0;M=x+15|0;N=x+16|0;P=f+4|0;k=f+36|0;m=f+216|0;if((c[j>>2]|0)==0)fa=2;a:while(1){if((fa|0)==2){fa=0;if((c[(c[h>>2]|0)+12>>2]|0)!=0)if((tg(f)|0)==0){l=0;fa=306;break}else continue;ha=c[_>>2]|0;ga=ha+4|0;ia=c[ga>>2]|0;if((ia|0)==0){if((ud[c[ha+12>>2]&127](f)|0)==0){l=0;fa=306;break}ia=c[ga>>2]|0}ja=c[ha>>2]|0;ka=ia+ -1|0;la=ja+1|0;ia=a[ja>>0]|0;ja=ia&255;if((ka|0)==0){if((ud[c[ha+12>>2]&127](f)|0)==0){l=0;fa=306;break}ka=c[ga>>2]|0;la=c[ha>>2]|0}pa=a[la>>0]|0;ma=pa&255;if(!(ia<<24>>24==-1&pa<<24>>24==-40)){c[(c[f>>2]|0)+20>>2]=55;c[(c[f>>2]|0)+24>>2]=ja;c[(c[f>>2]|0)+28>>2]=ma;qd[c[c[f>>2]>>2]&255](f)}c[j>>2]=ma;c[ha>>2]=la+1;c[ga>>2]=ka+ -1}ga=c[j>>2]|0;do switch(ga|0){case 216:{c[(c[f>>2]|0)+20>>2]=104;rd[c[(c[f>>2]|0)+4>>2]&127](f,1);if((c[(c[h>>2]|0)+12>>2]|0)==0)fa=0;else{c[(c[f>>2]|0)+20>>2]=64;qd[c[c[f>>2]>>2]&255](f);fa=0}while(1){if((fa|0)>=16)break;a[f+fa+232>>0]=0;a[f+fa+248>>0]=1;a[f+fa+264>>0]=5;fa=fa+1|0}c[ca>>2]=0;c[H>>2]=0;c[Q>>2]=0;c[K>>2]=0;c[p>>2]=0;a[q>>0]=1;a[r>>0]=1;a[s>>0]=0;b[t>>1]=1;b[u>>1]=1;c[v>>2]=0;a[w>>0]=0;c[(c[h>>2]|0)+12>>2]=1;break};case 192:{if((Eg(f,1,0,0)|0)==0){l=0;fa=306;break a}break};case 193:{if((Eg(f,0,0,0)|0)==0){l=0;fa=306;break a}break};case 194:{if((Eg(f,0,1,0)|0)==0){l=0;fa=306;break a}break};case 201:{if((Eg(f,0,0,1)|0)==0){l=0;fa=306;break a}break};case 202:{if((Eg(f,0,1,1)|0)==0){l=0;fa=306;break a}break};case 207:case 206:case 205:case 203:case 200:case 199:case 198:case 197:case 195:{c[(c[f>>2]|0)+20>>2]=63;c[(c[f>>2]|0)+24>>2]=c[j>>2];qd[c[c[f>>2]>>2]&255](f);break};case 218:{fa=25;break a};case 217:{fa=75;break a};case 204:{fa=c[_>>2]|0;ga=fa+4|0;ha=c[ga>>2]|0;if((ha|0)==0){if((ud[c[fa+12>>2]&127](f)|0)==0){l=0;fa=306;break a}ha=c[ga>>2]|0}ja=c[fa>>2]|0;la=ha+ -1|0;ia=d[ja>>0]<<8;if((la|0)==0){ha=fa+12|0;if((ud[c[ha>>2]&127](f)|0)==0){l=0;fa=306;break a}la=c[ga>>2]|0;ma=c[fa>>2]|0}else{ha=fa+12|0;ma=ja+1|0}ia=(ia|d[ma>>0])+ -2|0;while(1){ka=la+ -1|0;ja=ma+1|0;if((ia|0)<=0)break;if((ka|0)==0){if((ud[c[ha>>2]&127](f)|0)==0){l=0;fa=306;break a}ka=c[ga>>2]|0;ja=c[fa>>2]|0}la=ka+ -1|0;ma=ja+1|0;ja=a[ja>>0]|0;ka=ja&255;if((la|0)==0){if((ud[c[ha>>2]&127](f)|0)==0){l=0;fa=306;break a}la=c[ga>>2]|0;ma=c[fa>>2]|0}oa=a[ma>>0]|0;na=oa&255;ia=ia+ -2|0;c[(c[f>>2]|0)+20>>2]=81;c[(c[f>>2]|0)+24>>2]=ka;c[(c[f>>2]|0)+28>>2]=na;rd[c[(c[f>>2]|0)+4>>2]&127](f,1);if((ja&255)>31){c[(c[f>>2]|0)+20>>2]=29;c[(c[f>>2]|0)+24>>2]=ka;qd[c[c[f>>2]>>2]&255](f)}if((ja&255)>15){a[f+(ka+ -16)+264>>0]=oa;continue}ja=na&15;a[f+ka+232>>0]=ja;pa=(oa&255)>>>4;a[f+ka+248>>0]=pa;if(!((ja&255)>(pa&255)))continue;c[(c[f>>2]|0)+20>>2]=30;c[(c[f>>2]|0)+24>>2]=na;qd[c[c[f>>2]>>2]&255](f)}if((ia|0)!=0){c[(c[f>>2]|0)+20>>2]=12;qd[c[c[f>>2]>>2]&255](f)}c[fa>>2]=ja;c[ga>>2]=ka;break};case 196:{ga=c[_>>2]|0;ha=ga+4|0;fa=c[ha>>2]|0;if((fa|0)==0){if((ud[c[ga+12>>2]&127](f)|0)==0){l=0;fa=306;break a}fa=c[ha>>2]|0}ja=c[ga>>2]|0;ka=fa+ -1|0;fa=d[ja>>0]<<8;if((ka|0)==0){ia=ga+12|0;if((ud[c[ia>>2]&127](f)|0)==0){l=0;fa=306;break a}ka=c[ha>>2]|0;ja=c[ga>>2]|0}else{ia=ga+12|0;ja=ja+1|0}la=ka+ -1|0;ma=(fa|d[ja>>0])+ -2|0;ja=ja+1|0;while(1){if((ma|0)<=16)break;if((la|0)==0){if((ud[c[ia>>2]&127](f)|0)==0){l=0;fa=306;break a}la=c[ha>>2]|0;ja=c[ga>>2]|0}fa=d[ja>>0]|0;c[(c[f>>2]|0)+20>>2]=82;c[(c[f>>2]|0)+24>>2]=fa;rd[c[(c[f>>2]|0)+4>>2]&127](f,1);a[x>>0]=0;ka=0;na=1;while(1){la=la+ -1|0;ja=ja+1|0;if((na|0)>=17)break;if((la|0)==0){if((ud[c[ia>>2]&127](f)|0)==0){l=0;fa=306;break a}la=c[ha>>2]|0;ja=c[ga>>2]|0}pa=a[ja>>0]|0;a[x+na>>0]=pa;ka=ka+(pa&255)|0;na=na+1|0}ma=ma+ -17|0;pa=c[f>>2]|0;c[pa+24>>2]=d[y>>0];c[pa+28>>2]=d[z>>0];c[pa+32>>2]=d[A>>0];c[pa+36>>2]=d[B>>0];c[pa+40>>2]=d[C>>0];c[pa+44>>2]=d[D>>0];c[pa+48>>2]=d[E>>0];c[pa+52>>2]=d[F>>0];c[(c[f>>2]|0)+20>>2]=88;rd[c[(c[f>>2]|0)+4>>2]&127](f,2);pa=c[f>>2]|0;c[pa+24>>2]=d[G>>0];c[pa+28>>2]=d[da>>0];c[pa+32>>2]=d[I>>0];c[pa+36>>2]=d[J>>0];c[pa+40>>2]=d[o>>0];c[pa+44>>2]=d[L>>0];c[pa+48>>2]=d[M>>0];c[pa+52>>2]=d[N>>0];c[(c[f>>2]|0)+20>>2]=88;rd[c[(c[f>>2]|0)+4>>2]&127](f,2);if((ka|0)>256|(ka|0)>(ma|0)){c[(c[f>>2]|0)+20>>2]=9;qd[c[c[f>>2]>>2]&255](f)}st(O|0,0,256)|0;na=0;while(1){if((na|0)>=(ka|0))break;if((la|0)==0){if((ud[c[ia>>2]&127](f)|0)==0){l=0;fa=306;break a}la=c[ha>>2]|0;ja=c[ga>>2]|0}a[O+na>>0]=a[ja>>0]|0;la=la+ -1|0;ja=ja+1|0;na=na+1|0}ma=ma-ka|0;if((fa&16|0)!=0){fa=fa+ -16|0;ka=f+(fa<<2)+196|0;if((fa|0)<0){T=fa;U=ka;fa=130}else{R=fa;S=ka;fa=129}}else{R=fa;S=f+(fa<<2)+180|0;fa=129}if((fa|0)==129){fa=0;if((R|0)>3){T=R;U=S;fa=130}else V=S}if((fa|0)==130){c[(c[f>>2]|0)+20>>2]=31;c[(c[f>>2]|0)+24>>2]=T;qd[c[c[f>>2]>>2]&255](f);V=U}fa=c[V>>2]|0;if((fa|0)==0){fa=md[c[c[P>>2]>>2]&63](f,0,280)|0;c[fa+276>>2]=0;c[V>>2]=fa}na=fa+0|0;ka=x+0|0;fa=na+17|0;do{a[na>>0]=a[ka>>0]|0;na=na+1|0;ka=ka+1|0}while((na|0)<(fa|0));pt((c[V>>2]|0)+17|0,O|0,256)|0}if((ma|0)!=0){c[(c[f>>2]|0)+20>>2]=12;qd[c[c[f>>2]>>2]&255](f)}c[ga>>2]=ja;c[ha>>2]=la;break};case 239:case 238:case 237:case 236:case 235:case 234:case 233:case 232:case 231:case 230:case 229:case 228:case 227:case 226:case 225:case 224:{if((ud[c[(c[h>>2]|0)+32+(ga+ -224<<2)>>2]&127](f)|0)==0){l=0;fa=306;break a}break};case 254:{if((ud[c[(c[h>>2]|0)+28>>2]&127](f)|0)==0){l=0;fa=306;break a}break};case 1:case 215:case 214:case 213:case 212:case 211:case 210:case 209:case 208:{c[(c[f>>2]|0)+20>>2]=94;c[(c[f>>2]|0)+24>>2]=c[j>>2];rd[c[(c[f>>2]|0)+4>>2]&127](f,1);break};case 220:{if((yg(f)|0)==0){l=0;fa=306;break a}break};case 248:{ha=c[_>>2]|0;ia=c[ha>>2]|0;ga=ha+4|0;ja=c[ga>>2]|0;if((c[(c[h>>2]|0)+16>>2]|0)==0){c[(c[f>>2]|0)+20>>2]=60;mt((c[f>>2]|0)+24|0,2520,80)|0;qd[c[c[f>>2]>>2]&255](f)}do if((c[k>>2]|0)>=3){if((ja|0)==0){if((ud[c[ha+12>>2]&127](f)|0)==0){l=0;fa=306;break a}ja=c[ga>>2]|0;ia=c[ha>>2]|0}ja=ja+ -1|0;ka=ia+1|0;ia=d[ia>>0]<<8;if((ja|0)==0){if((ud[c[ha+12>>2]&127](f)|0)==0){l=0;fa=306;break a}ja=c[ga>>2]|0;ka=c[ha>>2]|0}la=ja+ -1|0;ja=ka+1|0;if((ia|d[ka>>0]|0)!=24){c[(c[f>>2]|0)+20>>2]=12;qd[c[c[f>>2]>>2]&255](f)}if((la|0)==0){if((ud[c[ha+12>>2]&127](f)|0)==0){l=0;fa=306;break a}la=c[ga>>2]|0;ja=c[ha>>2]|0}ka=la+ -1|0;ia=ja+1|0;if((a[ja>>0]|0)!=13){c[(c[f>>2]|0)+20>>2]=70;c[(c[f>>2]|0)+24>>2]=c[j>>2];qd[c[c[f>>2]>>2]&255](f)}if((ka|0)==0){if((ud[c[ha+12>>2]&127](f)|0)==0){l=0;fa=306;break a}ja=c[ga>>2]|0;ia=c[ha>>2]|0}else ja=ka;ka=ja+ -1|0;ja=ia+1|0;ia=d[ia>>0]<<8;if((ka|0)==0){if((ud[c[ha+12>>2]&127](f)|0)==0){l=0;fa=306;break a}ka=c[ga>>2]|0;ja=c[ha>>2]|0}la=ka+ -1|0;ka=ja+1|0;if((ia|d[ja>>0]|0)==255){if((la|0)==0){if((ud[c[ha+12>>2]&127](f)|0)==0){l=0;fa=306;break a}la=c[ga>>2]|0;ka=c[ha>>2]|0}ja=la+ -1|0;ia=ka+1|0;if((a[ka>>0]|0)==3){if((ja|0)==0){if((ud[c[ha+12>>2]&127](f)|0)==0){l=0;fa=306;break a}ja=c[ga>>2]|0;ka=c[ha>>2]|0}else ka=ia;la=ja+ -1|0;ja=ka+1|0;ia=c[m>>2]|0;if((d[ka>>0]|0)==(c[ia+88>>2]|0)){if((la|0)==0){if((ud[c[ha+12>>2]&127](f)|0)==0){l=0;fa=306;break a}ia=c[m>>2]|0;la=c[ga>>2]|0;ka=c[ha>>2]|0}else ka=ja;la=la+ -1|0;ja=ka+1|0;if((d[ka>>0]|0)==(c[ia>>2]|0)){if((la|0)==0){if((ud[c[ha+12>>2]&127](f)|0)==0){l=0;fa=306;break a}ia=c[m>>2]|0;la=c[ga>>2]|0;ja=c[ha>>2]|0}la=la+ -1|0;ka=ja+1|0;if((d[ja>>0]|0)!=(c[ia+176>>2]|0)){W=la;X=ka;fa=298;break}if((la|0)==0){if((ud[c[ha+12>>2]&127](f)|0)==0){l=0;fa=306;break a}la=c[ga>>2]|0;ka=c[ha>>2]|0}ja=la+ -1|0;ia=ka+1|0;if(!((a[ka>>0]|0)==-128)){W=ja;X=ia;fa=298;break}if((ja|0)==0){if((ud[c[ha+12>>2]&127](f)|0)==0){l=0;fa=306;break a}ja=c[ga>>2]|0;ia=c[ha>>2]|0}ka=ja+ -1|0;ja=ia+1|0;ia=d[ia>>0]<<8;if((ka|0)==0){if((ud[c[ha+12>>2]&127](f)|0)==0){l=0;fa=306;break a}ka=c[ga>>2]|0;ja=c[ha>>2]|0}la=ka+ -1|0;ka=ja+1|0;if((ia|d[ja>>0]|0)!=0){W=la;X=ka;fa=298;break}if((la|0)==0){if((ud[c[ha+12>>2]&127](f)|0)==0){l=0;fa=306;break a}la=c[ga>>2]|0;ka=c[ha>>2]|0}la=la+ -1|0;ja=ka+1|0;ia=d[ka>>0]<<8;if((la|0)==0){if((ud[c[ha+12>>2]&127](f)|0)==0){l=0;fa=306;break a}la=c[ga>>2]|0;ja=c[ha>>2]|0}la=la+ -1|0;ka=ja+1|0;if((ia|d[ja>>0]|0)!=0){W=la;X=ka;fa=298;break}if((la|0)==0){if((ud[c[ha+12>>2]&127](f)|0)==0){l=0;fa=306;break a}la=c[ga>>2]|0;ka=c[ha>>2]|0}ja=la+ -1|0;ia=ka+1|0;if((a[ka>>0]|0)!=0){W=ja;X=ia;fa=298;break}if((ja|0)==0){if((ud[c[ha+12>>2]&127](f)|0)==0){l=0;fa=306;break a}ja=c[ga>>2]|0;ia=c[ha>>2]|0}ka=ja+ -1|0;ja=ia+1|0;ia=d[ia>>0]<<8;if((ka|0)==0){if((ud[c[ha+12>>2]&127](f)|0)==0){l=0;fa=306;break a}ka=c[ga>>2]|0;ja=c[ha>>2]|0}la=ka+ -1|0;ka=ja+1|0;if((ia|d[ja>>0]|0)!=1){W=la;X=ka;fa=298;break}if((la|0)==0){if((ud[c[ha+12>>2]&127](f)|0)==0){l=0;fa=306;break a}la=c[ga>>2]|0;ka=c[ha>>2]|0}la=la+ -1|0;ja=ka+1|0;ia=d[ka>>0]<<8;if((la|0)==0){if((ud[c[ha+12>>2]&127](f)|0)==0){l=0;fa=306;break a}la=c[ga>>2]|0;ja=c[ha>>2]|0}la=la+ -1|0;ka=ja+1|0;if((ia|d[ja>>0]|0)!=0){W=la;X=ka;fa=298;break}if((la|0)==0){if((ud[c[ha+12>>2]&127](f)|0)==0){l=0;fa=306;break a}la=c[ga>>2]|0;ka=c[ha>>2]|0}ja=la+ -1|0;ia=ka+1|0;if((a[ka>>0]|0)!=0){W=ja;X=ia;fa=298;break}if((ja|0)==0){if((ud[c[ha+12>>2]&127](f)|0)==0){l=0;fa=306;break a}ja=c[ga>>2]|0;ia=c[ha>>2]|0}ka=ja+ -1|0;ja=ia+1|0;ia=d[ia>>0]<<8;if((ka|0)==0){if((ud[c[ha+12>>2]&127](f)|0)==0){l=0;fa=306;break a}ka=c[ga>>2]|0;ja=c[ha>>2]|0}la=ka+ -1|0;ka=ja+1|0;if((ia|d[ja>>0]|0)!=1){W=la;X=ka;fa=298;break}if((la|0)==0){if((ud[c[ha+12>>2]&127](f)|0)==0){l=0;fa=306;break a}la=c[ga>>2]|0;ka=c[ha>>2]|0}la=la+ -1|0;ja=ka+1|0;ia=d[ka>>0]<<8;if((la|0)==0){if((ud[c[ha+12>>2]&127](f)|0)==0){l=0;fa=306;break a}la=c[ga>>2]|0;ja=c[ha>>2]|0}la=la+ -1|0;ka=ja+1|0;if((ia|d[ja>>0]|0)==0){Z=la;Y=ka}else{W=la;X=ka;fa=298}}else{W=la;X=ja;fa=298}}else{W=la;X=ja;fa=298}}else{W=ja;X=ia;fa=298}}else{W=la;X=ka;fa=298}}else{W=ja;X=ia;fa=298}while(0);if((fa|0)==298){c[(c[f>>2]|0)+20>>2]=28;qd[c[c[f>>2]>>2]&255](f);Z=W;Y=X}c[Q>>2]=1;c[ha>>2]=Y;c[ga>>2]=Z;break};case 219:{ha=c[_>>2]|0;ga=ha+4|0;fa=c[ga>>2]|0;if((fa|0)==0){if((ud[c[ha+12>>2]&127](f)|0)==0){l=0;fa=306;break a}fa=c[ga>>2]|0}ja=c[ha>>2]|0;ka=fa+ -1|0;fa=d[ja>>0]<<8;if((ka|0)==0){ia=ha+12|0;if((ud[c[ia>>2]&127](f)|0)==0){l=0;fa=306;break a}ka=c[ga>>2]|0;ja=c[ha>>2]|0}else{ia=ha+12|0;ja=ja+1|0}ma=ka+ -1|0;fa=(fa|d[ja>>0])+ -2|0;na=ja+1|0;while(1){if((fa|0)<=0)break;ja=fa+ -1|0;if((ma|0)==0){if((ud[c[ia>>2]&127](f)|0)==0){l=0;fa=306;break a}ma=c[ga>>2]|0;na=c[ha>>2]|0}ka=d[na>>0]|0;la=ka>>>4;ka=ka&15;c[(c[f>>2]|0)+20>>2]=83;c[(c[f>>2]|0)+24>>2]=ka;c[(c[f>>2]|0)+28>>2]=la;rd[c[(c[f>>2]|0)+4>>2]&127](f,1);if(ka>>>0>3){c[(c[f>>2]|0)+20>>2]=32;c[(c[f>>2]|0)+24>>2]=ka;qd[c[c[f>>2]>>2]&255](f)}oa=f+(ka<<2)+164|0;ka=c[oa>>2]|0;if((ka|0)==0){ka=md[c[c[P>>2]>>2]&63](f,0,132)|0;c[ka+128>>2]=0;c[oa>>2]=ka}la=(la|0)==0;b:do if(la)if((fa|0)<65){ea=0;while(1){if((ea|0)>=64){ea=ja;fa=161;break b}b[ka+(ea<<1)>>1]=1;ea=ea+1|0}}else{$=64;fa=167}else if((fa|0)<129){ea=0;while(1){if((ea|0)>=64)break;b[ka+(ea<<1)>>1]=1;ea=ea+1|0}ea=ja>>1;fa=161}else{$=64;fa=167}while(0);c:do if((fa|0)==161){fa=0;switch(ea|0){case 9:{aa=ea;ba=9520;break c};case 16:{aa=ea;ba=9392;break c};case 25:{aa=ea;ba=9224;break c};case 36:{aa=ea;ba=9016;break c};case 49:{aa=ea;ba=8752;break c};case 4:{aa=4;ba=9624;break c};default:{$=ea;fa=167;break c}}}while(0);if((fa|0)==167){aa=$;ba=8432}fa=0;while(1){na=na+1|0;ma=ma+ -1|0;if((fa|0)>=(aa|0))break;oa=(ma|0)==0;if(la){if(oa){if((ud[c[ia>>2]&127](f)|0)==0){l=0;fa=306;break a}ma=c[ga>>2]|0;na=c[ha>>2]|0}oa=na;na=d[na>>0]|0}else{if(oa){if((ud[c[ia>>2]&127](f)|0)==0){l=0;fa=306;break a}ma=c[ga>>2]|0;na=c[ha>>2]|0}ma=ma+ -1|0;pa=na+1|0;na=d[na>>0]<<8;if((ma|0)==0){if((ud[c[ia>>2]&127](f)|0)==0){l=0;fa=306;break a}ma=c[ga>>2]|0;pa=c[ha>>2]|0}oa=pa;na=na|d[pa>>0]}b[ka+(c[ba+(fa<<2)>>2]<<1)>>1]=na;na=oa;fa=fa+1|0}d:do if((c[(c[f>>2]|0)+104>>2]|0)>1){fa=0;while(1){if((fa|0)>=64)break d;pa=c[f>>2]|0;c[pa+24>>2]=e[ka+(fa<<1)>>1];c[pa+28>>2]=e[ka+((fa|1)<<1)>>1];c[pa+32>>2]=e[ka+((fa|2)<<1)>>1];c[pa+36>>2]=e[ka+((fa|3)<<1)>>1];c[pa+40>>2]=e[ka+((fa|4)<<1)>>1];c[pa+44>>2]=e[ka+((fa|5)<<1)>>1];c[pa+48>>2]=e[ka+((fa|6)<<1)>>1];c[pa+52>>2]=e[ka+((fa|7)<<1)>>1];c[(c[f>>2]|0)+20>>2]=95;rd[c[(c[f>>2]|0)+4>>2]&127](f,2);fa=fa+8|0}}while(0);fa=ja-aa|0;fa=la?fa:fa-aa|0}if((fa|0)!=0){c[(c[f>>2]|0)+20>>2]=12;qd[c[c[f>>2]>>2]&255](f)}c[ha>>2]=na;c[ga>>2]=ma;break};case 221:{fa=c[_>>2]|0;ga=fa+4|0;ha=c[ga>>2]|0;if((ha|0)==0){if((ud[c[fa+12>>2]&127](f)|0)==0){l=0;fa=306;break a}ha=c[ga>>2]|0}pa=c[fa>>2]|0;ja=ha+ -1|0;ia=pa+1|0;ha=d[pa>>0]<<8;if((ja|0)==0){if((ud[c[fa+12>>2]&127](f)|0)==0){l=0;fa=306;break a}ja=c[ga>>2]|0;ia=c[fa>>2]|0}ka=ja+ -1|0;ja=ia+1|0;if((ha|d[ia>>0]|0)!=4){c[(c[f>>2]|0)+20>>2]=12;qd[c[c[f>>2]>>2]&255](f)}if((ka|0)==0){if((ud[c[fa+12>>2]&127](f)|0)==0){l=0;fa=306;break a}ka=c[ga>>2]|0;ja=c[fa>>2]|0}ka=ka+ -1|0;ia=ja+1|0;ha=d[ja>>0]<<8;if((ka|0)==0){if((ud[c[fa+12>>2]&127](f)|0)==0){l=0;fa=306;break a}ka=c[ga>>2]|0;ia=c[fa>>2]|0}pa=ha|d[ia>>0];c[(c[f>>2]|0)+20>>2]=84;c[(c[f>>2]|0)+24>>2]=pa;rd[c[(c[f>>2]|0)+4>>2]&127](f,1);c[ca>>2]=pa;c[fa>>2]=ia+1;c[ga>>2]=ka+ -1;break};default:{c[(c[f>>2]|0)+20>>2]=70;c[(c[f>>2]|0)+24>>2]=c[j>>2];qd[c[c[f>>2]>>2]&255](f)}}while(0);c[j>>2]=0;fa=2}if((fa|0)==25){o=c[_>>2]|0;q=c[o>>2]|0;p=o+4|0;r=c[p>>2]|0;if((c[(c[h>>2]|0)+16>>2]|0)==0){c[(c[f>>2]|0)+20>>2]=60;mt((c[f>>2]|0)+24|0,2528,80)|0;qd[c[c[f>>2]>>2]&255](f)}do if((r|0)==0)if((ud[c[o+12>>2]&127](f)|0)==0){pa=0;i=g;return pa|0}else{r=c[p>>2]|0;q=c[o>>2]|0;break}while(0);s=r+ -1|0;r=q+1|0;q=d[q>>0]<<8;do if((s|0)==0)if((ud[c[o+12>>2]&127](f)|0)==0){pa=0;i=g;return pa|0}else{s=c[p>>2]|0;r=c[o>>2]|0;break}while(0);z=s+ -1|0;x=r+1|0;r=q|d[r>>0];do if((z|0)==0)if((ud[c[o+12>>2]&127](f)|0)==0){pa=0;i=g;return pa|0}else{z=c[p>>2]|0;x=c[o>>2]|0;break}while(0);q=a[x>>0]|0;s=q&255;c[(c[f>>2]|0)+20>>2]=105;c[(c[f>>2]|0)+24>>2]=s;rd[c[(c[f>>2]|0)+4>>2]&127](f,1);if(!((r|0)!=((s<<1)+6|0)|(q&255)>4)){if(q<<24>>24==0?(c[f+224>>2]|0)==0:0)fa=39}else fa=39;if((fa|0)==39){c[(c[f>>2]|0)+20>>2]=12;qd[c[c[f>>2]>>2]&255](f)}c[f+340>>2]=s;r=o+12|0;t=f+344|0;u=0;while(1){v=z+ -1|0;w=x+1|0;y=(v|0)==0;if((u|0)>=(s|0)){fa=62;break}if(y){if((ud[c[r>>2]&127](f)|0)==0){l=0;fa=306;break}x=c[p>>2]|0;A=c[o>>2]|0}else{x=v;A=w}z=x+ -1|0;x=A+1|0;B=d[A>>0]|0;A=0;while(1){if((A|0)>=(u|0)){n=B;break}if((B|0)==(c[c[f+(A<<2)+344>>2]>>2]|0)){fa=48;break}A=A+1|0}if((fa|0)==48){fa=0;A=c[c[t>>2]>>2]|0;n=1;while(1){if((n|0)>=(u|0))break;pa=c[c[f+(n<<2)+344>>2]>>2]|0;A=(pa|0)>(A|0)?pa:A;n=n+1|0}n=A+1|0}C=c[k>>2]|0;B=0;A=c[m>>2]|0;while(1){if((B|0)>=(C|0)){fa=57;break}if((n|0)==(c[A>>2]|0))break;B=B+1|0;A=A+88|0}if((fa|0)==57){fa=0;c[(c[f>>2]|0)+20>>2]=4;c[(c[f>>2]|0)+24>>2]=n;qd[c[c[f>>2]>>2]&255](f)}c[f+(u<<2)+344>>2]=A;if((z|0)==0){if((ud[c[r>>2]&127](f)|0)==0){l=0;fa=306;break}z=c[p>>2]|0;x=c[o>>2]|0}pa=d[x>>0]|0;na=A+20|0;c[na>>2]=pa>>>4;oa=A+24|0;c[oa>>2]=pa&15;pa=c[f>>2]|0;c[pa+24>>2]=c[A>>2];c[pa+28>>2]=c[na>>2];c[pa+32>>2]=c[oa>>2];c[(c[f>>2]|0)+20>>2]=106;rd[c[(c[f>>2]|0)+4>>2]&127](f,1);u=u+1|0}if((fa|0)==62){do if(y)if((ud[c[r>>2]&127](f)|0)==0){pa=0;i=g;return pa|0}else{v=c[p>>2]|0;w=c[o>>2]|0;break}while(0);l=v+ -1|0;m=w+1|0;k=f+412|0;c[k>>2]=d[w>>0];do if((l|0)==0)if((ud[c[r>>2]&127](f)|0)==0){pa=0;i=g;return pa|0}else{l=c[p>>2]|0;m=c[o>>2]|0;break}while(0);n=l+ -1|0;l=f+416|0;c[l>>2]=d[m>>0];do if((n|0)==0)if((ud[c[r>>2]&127](f)|0)==0){pa=0;i=g;return pa|0}else{n=c[p>>2]|0;m=c[o>>2]|0;break}else m=m+1|0;while(0);pa=d[m>>0]|0;na=f+420|0;c[na>>2]=pa>>>4;oa=f+424|0;c[oa>>2]=pa&15;pa=c[f>>2]|0;c[pa+24>>2]=c[k>>2];c[pa+28>>2]=c[l>>2];c[pa+32>>2]=c[na>>2];c[pa+36>>2]=c[oa>>2];c[(c[f>>2]|0)+20>>2]=107;rd[c[(c[f>>2]|0)+4>>2]&127](f,1);c[(c[h>>2]|0)+20>>2]=0;if(!(q<<24>>24==0)){pa=f+144|0;c[pa>>2]=(c[pa>>2]|0)+1}c[o>>2]=m+1;c[p>>2]=n+ -1;c[j>>2]=0;pa=1;i=g;return pa|0}else if((fa|0)==306){i=g;return l|0}}else if((fa|0)==75){c[(c[f>>2]|0)+20>>2]=87;rd[c[(c[f>>2]|0)+4>>2]&127](f,1);c[j>>2]=0;pa=2;i=g;return pa|0}else if((fa|0)==306){i=g;return l|0}return 0}function xg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;d=a+440|0;g=c[d>>2]|0;do if((g|0)==0)if((tg(a)|0)==0){g=0;i=b;return g|0}else{g=c[d>>2]|0;break}while(0);e=a+464|0;f=c[(c[e>>2]|0)+20>>2]|0;if((g|0)!=(f+208|0)){if((Dd[c[(c[a+24>>2]|0)+20>>2]&127](a,f)|0)==0){g=0;i=b;return g|0}}else{c[(c[a>>2]|0)+20>>2]=100;c[(c[a>>2]|0)+24>>2]=c[(c[e>>2]|0)+20>>2];rd[c[(c[a>>2]|0)+4>>2]&127](a,3);c[d>>2]=0}g=(c[e>>2]|0)+20|0;c[g>>2]=(c[g>>2]|0)+1&7;g=1;i=b;return g|0}function yg(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,j=0,k=0;g=i;f=a+24|0;b=c[f>>2]|0;e=b+4|0;h=c[e>>2]|0;do if((h|0)==0)if((ud[c[b+12>>2]&127](a)|0)==0){k=0;i=g;return k|0}else{h=c[e>>2]|0;break}while(0);j=c[b>>2]|0;h=h+ -1|0;k=j+1|0;j=(d[j>>0]|0)<<8;do if((h|0)==0)if((ud[c[b+12>>2]&127](a)|0)==0){k=0;i=g;return k|0}else{h=c[e>>2]|0;k=c[b>>2]|0;break}while(0);j=(j|(d[k>>0]|0))+ -2|0;c[(c[a>>2]|0)+20>>2]=93;c[(c[a>>2]|0)+24>>2]=c[a+440>>2];c[(c[a>>2]|0)+28>>2]=j;rd[c[(c[a>>2]|0)+4>>2]&127](a,1);c[b>>2]=k+1;c[e>>2]=h+ -1;if((j|0)<=0){k=1;i=g;return k|0}rd[c[(c[f>>2]|0)+16>>2]&127](a,j);k=1;i=g;return k|0}function zg(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=i;i=i+16|0;g=e;h=b+24|0;j=c[h>>2]|0;f=j+4|0;l=c[f>>2]|0;do if((l|0)==0)if((ud[c[j+12>>2]&127](b)|0)==0){q=0;i=e;return q|0}else{l=c[f>>2]|0;break}while(0);p=c[j>>2]|0;o=l+ -1|0;q=p+1|0;l=(d[p>>0]|0)<<8;do if((o|0)==0)if((ud[c[j+12>>2]&127](b)|0)==0){q=0;i=e;return q|0}else{o=c[f>>2]|0;q=c[j>>2]|0;break}while(0);n=(l|(d[q>>0]|0))+ -2|0;if((n|0)>13)l=14;else l=(n|0)>0?n:0;m=j+12|0;p=0;while(1){o=o+ -1|0;q=q+1|0;if(!(p>>>0<l>>>0))break;if((o|0)==0){if((ud[c[m>>2]&127](b)|0)==0){b=0;k=21;break}o=c[f>>2]|0;q=c[j>>2]|0}a[g+p>>0]=a[q>>0]|0;p=p+1|0}if((k|0)==21){i=e;return b|0}k=n-l|0;m=b+440|0;n=c[m>>2]|0;if((n|0)==238)Dg(b,g,l,k);else if((n|0)==224)Cg(b,g,l,k);else{c[(c[b>>2]|0)+20>>2]=70;c[(c[b>>2]|0)+24>>2]=c[m>>2];qd[c[c[b>>2]>>2]&255](b)}c[j>>2]=q;c[f>>2]=o;if((k|0)<=0){q=1;i=e;return q|0}rd[c[(c[h>>2]|0)+16>>2]&127](b,k);q=1;i=e;return q|0}function Ag(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;f=i;g=c[a+464>>2]|0;j=(c[(c[a+4>>2]|0)+48>>2]|0)+ -20|0;k=(j|0)<(d|0);h=k?j:d;do if(((k?j:d)|0)==0)if((b|0)==238|(b|0)==224){d=91;e=6}else d=90;else if((b|0)==224){h=h>>>0<14?14:h;d=92;e=6;break}else{h=(b|0)==238&h>>>0<12?12:h;d=92;e=6;break}while(0);if((b|0)==254){c[g+28>>2]=d;c[g+96>>2]=h;i=f;return}if((b|0)>223&(b|0)<240){k=b+ -224|0;c[g+(k<<2)+32>>2]=d;c[g+(k<<2)+100>>2]=h;i=f;return}else{c[(c[a>>2]|0)+20>>2]=70;c[(c[a>>2]|0)+24>>2]=b;qd[c[c[a>>2]>>2]&255](a);i=f;return}}function Bg(b){b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=i;j=c[b+464>>2]|0;l=c[j+164>>2]|0;g=b+24|0;h=c[g>>2]|0;q=c[h>>2]|0;f=h+4|0;n=c[f>>2]|0;do if((l|0)==0){do if((n|0)==0)if((ud[c[h+12>>2]&127](b)|0)==0){t=0;i=e;return t|0}else{n=c[f>>2]|0;q=c[h>>2]|0;break}while(0);n=n+ -1|0;m=q+1|0;l=(d[q>>0]|0)<<8;do if((n|0)==0)if((ud[c[h+12>>2]&127](b)|0)==0){t=0;i=e;return t|0}else{n=c[f>>2]|0;m=c[h>>2]|0;break}while(0);n=n+ -1|0;q=m+1|0;p=(l|(d[m>>0]|0))+ -2|0;if(!((p|0)>-1)){t=0;o=j+168|0;m=0;s=0;l=0;break}l=b+440|0;m=c[l>>2]|0;if((m|0)==254)m=j+96|0;else m=j+(m+ -224<<2)+100|0;r=c[m>>2]|0;r=p>>>0<r>>>0?p:r;m=md[c[(c[b+4>>2]|0)+4>>2]&63](b,1,r+20|0)|0;c[m>>2]=0;a[m+4>>0]=c[l>>2];c[m+8>>2]=p;c[m+12>>2]=r;s=m+20|0;c[m+16>>2]=s;c[j+164>>2]=m;o=j+168|0;c[o>>2]=0;t=0;l=r}else{o=j+168|0;s=c[o>>2]|0;t=s;m=l;s=(c[l+16>>2]|0)+s|0;l=c[l+12>>2]|0;p=0}while(0);r=h+12|0;a:while(1){if(!(t>>>0<l>>>0))break;c[h>>2]=q;c[f>>2]=n;c[o>>2]=t;if((n|0)==0){if((ud[c[r>>2]&127](b)|0)==0){b=0;k=34;break}n=c[f>>2]|0;q=c[h>>2]|0}while(1){if(!(t>>>0<l>>>0&(n|0)!=0))continue a;a[s>>0]=a[q>>0]|0;n=n+ -1|0;t=t+1|0;s=s+1|0;q=q+1|0}}if((k|0)==34){i=e;return b|0}if((m|0)!=0){o=b+312|0;k=c[o>>2]|0;if((k|0)==0)c[o>>2]=m;else{while(1){o=c[k>>2]|0;if((o|0)==0)break;else k=o}c[k>>2]=m}s=c[m+16>>2]|0;p=(c[m+8>>2]|0)-l|0}c[j+164>>2]=0;j=b+440|0;k=c[j>>2]|0;if((k|0)==224)Cg(b,s,l,p);else if((k|0)==238)Dg(b,s,l,p);else{c[(c[b>>2]|0)+20>>2]=93;c[(c[b>>2]|0)+24>>2]=c[j>>2];c[(c[b>>2]|0)+28>>2]=l+p;rd[c[(c[b>>2]|0)+4>>2]&127](b,1)}c[h>>2]=q;c[f>>2]=n;if((p|0)<=0){t=1;i=e;return t|0}rd[c[(c[g>>2]|0)+16>>2]&127](b,p);t=1;i=e;return t|0}function Cg(f,g,h,j){f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0;k=i;j=h+j|0;if(((((h>>>0>13?(a[g>>0]|0)==74:0)?(a[g+1>>0]|0)==70:0)?(a[g+2>>0]|0)==73:0)?(a[g+3>>0]|0)==70:0)?(a[g+4>>0]|0)==0:0){c[f+284>>2]=1;o=a[g+5>>0]|0;p=f+288|0;a[p>>0]=o;h=f+289|0;a[h>>0]=a[g+6>>0]|0;n=f+290|0;a[n>>0]=a[g+7>>0]|0;l=f+292|0;b[l>>1]=d[g+8>>0]<<8|d[g+9>>0];m=f+294|0;b[m>>1]=d[g+10>>0]<<8|d[g+11>>0];if(!(o<<24>>24==1))if(o<<24>>24==2)o=2;else{c[(c[f>>2]|0)+20>>2]=122;c[(c[f>>2]|0)+24>>2]=d[p>>0];c[(c[f>>2]|0)+28>>2]=d[h>>0];rd[c[(c[f>>2]|0)+4>>2]&127](f,-1);o=a[p>>0]|0}else o=1;p=c[f>>2]|0;c[p+24>>2]=o&255;c[p+28>>2]=d[h>>0];c[p+32>>2]=e[l>>1];c[p+36>>2]=e[m>>1];c[p+40>>2]=d[n>>0];c[(c[f>>2]|0)+20>>2]=89;rd[c[(c[f>>2]|0)+4>>2]&127](f,1);h=g+12|0;l=a[h>>0]|0;m=g+13|0;g=a[m>>0]|0;if(!((l|g)<<24>>24==0)){c[(c[f>>2]|0)+20>>2]=92;c[(c[f>>2]|0)+24>>2]=d[h>>0];c[(c[f>>2]|0)+28>>2]=d[m>>0];rd[c[(c[f>>2]|0)+4>>2]&127](f,1);l=a[h>>0]|0;g=a[m>>0]|0}j=j+ -14|0;if((j|0)==((da(l&255,g&255)|0)*3|0)){i=k;return}c[(c[f>>2]|0)+20>>2]=90;c[(c[f>>2]|0)+24>>2]=j;rd[c[(c[f>>2]|0)+4>>2]&127](f,1);i=k;return}if(((((h>>>0>5?(a[g>>0]|0)==74:0)?(a[g+1>>0]|0)==70:0)?(a[g+2>>0]|0)==88:0)?(a[g+3>>0]|0)==88:0)?(a[g+4>>0]|0)==0:0){g=g+5|0;h=d[g>>0]|0;if((h|0)==17){c[(c[f>>2]|0)+20>>2]=111;c[(c[f>>2]|0)+24>>2]=j;rd[c[(c[f>>2]|0)+4>>2]&127](f,1);i=k;return}else if((h|0)==19){c[(c[f>>2]|0)+20>>2]=112;c[(c[f>>2]|0)+24>>2]=j;rd[c[(c[f>>2]|0)+4>>2]&127](f,1);i=k;return}else if((h|0)==16){c[(c[f>>2]|0)+20>>2]=110;c[(c[f>>2]|0)+24>>2]=j;rd[c[(c[f>>2]|0)+4>>2]&127](f,1);i=k;return}else{c[(c[f>>2]|0)+20>>2]=91;c[(c[f>>2]|0)+24>>2]=d[g>>0];c[(c[f>>2]|0)+28>>2]=j;rd[c[(c[f>>2]|0)+4>>2]&127](f,1);i=k;return}}c[(c[f>>2]|0)+20>>2]=79;c[(c[f>>2]|0)+24>>2]=j;rd[c[(c[f>>2]|0)+4>>2]&127](f,1);i=k;return}function Dg(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0;h=i;if(((((f>>>0>11?(a[e>>0]|0)==65:0)?(a[e+1>>0]|0)==100:0)?(a[e+2>>0]|0)==111:0)?(a[e+3>>0]|0)==98:0)?(a[e+4>>0]|0)==101:0){k=d[e+7>>0]<<8|d[e+8>>0];j=d[e+9>>0]<<8|d[e+10>>0];g=a[e+11>>0]|0;f=c[b>>2]|0;c[f+24>>2]=d[e+5>>0]<<8|d[e+6>>0];c[f+28>>2]=k;c[f+32>>2]=j;c[f+36>>2]=g&255;c[(c[b>>2]|0)+20>>2]=78;rd[c[(c[b>>2]|0)+4>>2]&127](b,1);c[b+296>>2]=1;a[b+300>>0]=g;i=h;return}c[(c[b>>2]|0)+20>>2]=80;c[(c[b>>2]|0)+24>>2]=f+g;rd[c[(c[b>>2]|0)+4>>2]&127](b,1);i=h;return}
function pp(b,e,f,g,h,j,k,l,m,n,o){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;var p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;q=i;i=i+592|0;G=q+76|0;F=q+112|0;K=q;A=q+176|0;z=q+64|0;L=q+24|0;J=q+28|0;I=q+124|0;y=q+148|0;H=q+164|0;E=q+188|0;P=q+192|0;p=q+80|0;C=q+88|0;D=q+104|0;B=q+108|0;v=q+92|0;r=q+40|0;s=q+136|0;t=q+12|0;u=q+52|0;w=q+160|0;c[E>>2]=o;c[p>>2]=P;o=p+4|0;c[o>>2]=184;c[C>>2]=P;c[D>>2]=P+400;c[B>>2]=0;c[v+0>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[r+0>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[s+0>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;c[t+0>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[u+0>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;if(f){y=Vp(g,16304)|0;rd[c[(c[y>>2]|0)+44>>2]&127](G,y);c[B>>2]=c[G>>2];rd[c[(c[y>>2]|0)+32>>2]&127](F,y);if((a[t>>0]&1)==0){c[t+4>>2]=0;a[t>>0]=0}else{c[c[t+8>>2]>>2]=0;c[t+4>>2]=0}Zk(t);c[t+0>>2]=c[F+0>>2];c[t+4>>2]=c[F+4>>2];c[t+8>>2]=c[F+8>>2];c[F+0>>2]=0;c[F+4>>2]=0;c[F+8>>2]=0;rd[c[(c[y>>2]|0)+28>>2]&127](K,y);if((a[s>>0]&1)==0){c[s+4>>2]=0;a[s>>0]=0}else{c[c[s+8>>2]>>2]=0;c[s+4>>2]=0}Zk(s);c[s+0>>2]=c[K+0>>2];c[s+4>>2]=c[K+4>>2];c[s+8>>2]=c[K+8>>2];c[K+0>>2]=0;c[K+4>>2]=0;c[K+8>>2]=0;F=ud[c[(c[y>>2]|0)+12>>2]&127](y)|0;G=ud[c[(c[y>>2]|0)+16>>2]&127](y)|0;rd[c[(c[y>>2]|0)+20>>2]&127](A,y);if((a[v>>0]&1)==0){a[v+1>>0]=0;a[v>>0]=0}else{a[c[v+8>>2]>>0]=0;c[v+4>>2]=0}Pk(v);c[v+0>>2]=c[A+0>>2];c[v+4>>2]=c[A+4>>2];c[v+8>>2]=c[A+8>>2];c[A+0>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;rd[c[(c[y>>2]|0)+24>>2]&127](z,y);if((a[r>>0]&1)==0){c[r+4>>2]=0;a[r>>0]=0}else{c[c[r+8>>2]>>2]=0;c[r+4>>2]=0}Zk(r);c[r+0>>2]=c[z+0>>2];c[r+4>>2]=c[z+4>>2];c[r+8>>2]=c[z+8>>2];c[z+0>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;O=ud[c[(c[y>>2]|0)+36>>2]&127](y)|0}else{z=Vp(g,16240)|0;rd[c[(c[z>>2]|0)+44>>2]&127](L,z);c[B>>2]=c[L>>2];rd[c[(c[z>>2]|0)+32>>2]&127](J,z);if((a[t>>0]&1)==0){c[t+4>>2]=0;a[t>>0]=0}else{c[c[t+8>>2]>>2]=0;c[t+4>>2]=0}Zk(t);c[t+0>>2]=c[J+0>>2];c[t+4>>2]=c[J+4>>2];c[t+8>>2]=c[J+8>>2];c[J+0>>2]=0;c[J+4>>2]=0;c[J+8>>2]=0;rd[c[(c[z>>2]|0)+28>>2]&127](I,z);if((a[s>>0]&1)==0){c[s+4>>2]=0;a[s>>0]=0}else{c[c[s+8>>2]>>2]=0;c[s+4>>2]=0}Zk(s);c[s+0>>2]=c[I+0>>2];c[s+4>>2]=c[I+4>>2];c[s+8>>2]=c[I+8>>2];c[I+0>>2]=0;c[I+4>>2]=0;c[I+8>>2]=0;F=ud[c[(c[z>>2]|0)+12>>2]&127](z)|0;G=ud[c[(c[z>>2]|0)+16>>2]&127](z)|0;rd[c[(c[z>>2]|0)+20>>2]&127](y,z);if((a[v>>0]&1)==0){a[v+1>>0]=0;a[v>>0]=0}else{a[c[v+8>>2]>>0]=0;c[v+4>>2]=0}Pk(v);c[v+0>>2]=c[y+0>>2];c[v+4>>2]=c[y+4>>2];c[v+8>>2]=c[y+8>>2];c[y+0>>2]=0;c[y+4>>2]=0;c[y+8>>2]=0;rd[c[(c[z>>2]|0)+24>>2]&127](H,z);if((a[r>>0]&1)==0){c[r+4>>2]=0;a[r>>0]=0}else{c[c[r+8>>2]>>2]=0;c[r+4>>2]=0}Zk(r);c[r+0>>2]=c[H+0>>2];c[r+4>>2]=c[H+4>>2];c[r+8>>2]=c[H+8>>2];c[H+0>>2]=0;c[H+4>>2]=0;c[H+8>>2]=0;O=ud[c[(c[z>>2]|0)+36>>2]&127](z)|0}c[n>>2]=c[m>>2];H=t+4|0;z=t+8|0;I=s+4|0;y=s+8|0;g=(h&512|0)!=0;f=r+4|0;h=r+8|0;L=u+4|0;A=u+8|0;K=B+3|0;J=v+4|0;N=0;M=0;a:while(1){R=c[b>>2]|0;do if((R|0)!=0){Q=c[R+12>>2]|0;if((Q|0)==(c[R+16>>2]|0))Q=ud[c[(c[R>>2]|0)+36>>2]&127](R)|0;else Q=c[Q>>2]|0;if((Q|0)==-1){c[b>>2]=0;Q=1;break}else{Q=(c[b>>2]|0)==0;break}}else Q=1;while(0);if((e|0)!=0){R=c[e+12>>2]|0;if((R|0)==(c[e+16>>2]|0))R=ud[c[(c[e>>2]|0)+36>>2]&127](e)|0;else R=c[R>>2]|0;if(!((R|0)==-1)){if(!Q){x=287;break}}else x=41}else x=41;if((x|0)==41){x=0;if(Q){e=0;x=287;break}else e=0}b:do switch(a[B+N>>0]|0){case 1:{if((N|0)==3){x=287;break a}x=c[b>>2]|0;Q=c[x+12>>2]|0;if((Q|0)==(c[x+16>>2]|0))x=ud[c[(c[x>>2]|0)+36>>2]&127](x)|0;else x=c[Q>>2]|0;if(!(md[c[(c[l>>2]|0)+12>>2]&63](l,8192,x)|0)){x=53;break a}R=c[b>>2]|0;Q=R+12|0;x=c[Q>>2]|0;if((x|0)==(c[R+16>>2]|0))x=ud[c[(c[R>>2]|0)+40>>2]&127](R)|0;else{c[Q>>2]=x+4;x=c[x>>2]|0}_k(u,x);x=54;break};case 2:{if(!((M|0)!=0|N>>>0<2)){if((N|0)==2)Q=(a[K>>0]|0)!=0;else Q=0;if(!(g|Q)){R=e;M=0;break b}}T=a[r>>0]|0;Q=(T&1)==0?f:c[h>>2]|0;c:do if((N|0)!=0?(d[B+(N+ -1)>>0]|0)<2:0){while(1){if((T&1)==0){R=(T&255)>>>1;S=f}else{R=c[f>>2]|0;S=c[h>>2]|0}if((Q|0)==(S+(R<<2)|0))break;if(!(md[c[(c[l>>2]|0)+12>>2]&63](l,8192,c[Q>>2]|0)|0)){x=154;break}T=a[r>>0]|0;Q=Q+4|0}if((x|0)==154){x=0;T=a[r>>0]|0}S=(T&1)==0?f:c[h>>2]|0;V=Q-S>>2;W=a[u>>0]|0;R=(W&1)==0;if(R)U=(W&255)>>>1;else U=c[L>>2]|0;if(!(V>>>0>U>>>0)){if(R){R=(W&255)>>>1;U=L+(R-V<<2)|0;V=R;R=L}else{R=c[A>>2]|0;W=c[L>>2]|0;U=R+(W-V<<2)|0;V=W}R=R+(V<<2)|0;if((U|0)==(R|0)){R=e;U=T;T=e}else{V=U;U=S;while(1){if((c[V>>2]|0)!=(c[U>>2]|0)){R=e;U=T;T=e;Q=S;break c}V=V+4|0;if((V|0)==(R|0)){R=e;U=T;T=e;break c}U=U+4|0}}}else{R=e;U=T;T=e;Q=S}}else{R=e;U=T;T=e}while(0);while(1){if((U&1)==0){S=(U&255)>>>1;U=f}else{S=c[f>>2]|0;U=c[h>>2]|0}if((Q|0)==(U+(S<<2)|0))break;S=c[b>>2]|0;do if((S|0)!=0){U=c[S+12>>2]|0;if((U|0)==(c[S+16>>2]|0))S=ud[c[(c[S>>2]|0)+36>>2]&127](S)|0;else S=c[U>>2]|0;if((S|0)==-1){c[b>>2]=0;S=1;break}else{S=(c[b>>2]|0)==0;break}}else S=1;while(0);if((T|0)!=0){U=c[T+12>>2]|0;if((U|0)==(c[T+16>>2]|0))T=ud[c[(c[T>>2]|0)+36>>2]&127](T)|0;else T=c[U>>2]|0;if(!((T|0)==-1))if(S^(R|0)==0){S=R;T=R}else break;else{R=0;e=0;x=182}}else x=182;if((x|0)==182){x=0;if(S)break;else{S=R;T=0}}R=c[b>>2]|0;U=c[R+12>>2]|0;if((U|0)==(c[R+16>>2]|0))R=ud[c[(c[R>>2]|0)+36>>2]&127](R)|0;else R=c[U>>2]|0;if((R|0)!=(c[Q>>2]|0)){R=S;break}V=c[b>>2]|0;U=V+12|0;R=c[U>>2]|0;if((R|0)==(c[V+16>>2]|0))ud[c[(c[V>>2]|0)+40>>2]&127](V)|0;else c[U>>2]=R+4;R=S;U=a[r>>0]|0;Q=Q+4|0}if(g){S=a[r>>0]|0;if((S&1)==0){T=(S&255)>>>1;S=f}else{T=c[f>>2]|0;S=c[h>>2]|0}if((Q|0)!=(S+(T<<2)|0)){x=197;break a}}break};case 0:{x=54;break};case 3:{Q=a[s>>0]|0;S=(Q&1)==0;if(S)U=(Q&255)>>>1;else U=c[I>>2]|0;R=a[t>>0]|0;T=(R&1)==0;if(T)V=(R&255)>>>1;else V=c[H>>2]|0;if((U|0)==(0-V|0))R=e;else{if(S)U=(Q&255)>>>1;else U=c[I>>2]|0;if((U|0)!=0){if(T)T=(R&255)>>>1;else T=c[H>>2]|0;if((T|0)!=0){R=c[b>>2]|0;T=c[R+12>>2]|0;U=c[R+16>>2]|0;if((T|0)==(U|0)){T=ud[c[(c[R>>2]|0)+36>>2]&127](R)|0;U=c[b>>2]|0;Q=a[s>>0]|0;R=U;S=c[U+12>>2]|0;U=c[U+16>>2]|0}else{S=T;T=c[T>>2]|0}V=R+12|0;U=(S|0)==(U|0);if((T|0)==(c[((Q&1)==0?I:c[y>>2]|0)>>2]|0)){if(U)ud[c[(c[R>>2]|0)+40>>2]&127](R)|0;else c[V>>2]=S+4;Q=a[s>>0]|0;if((Q&1)==0)Q=(Q&255)>>>1;else Q=c[I>>2]|0;R=e;M=Q>>>0>1?s:M;break b}if(U)Q=ud[c[(c[R>>2]|0)+36>>2]&127](R)|0;else Q=c[S>>2]|0;if((Q|0)!=(c[((a[t>>0]&1)==0?H:c[z>>2]|0)>>2]|0)){x=141;break a}S=c[b>>2]|0;R=S+12|0;Q=c[R>>2]|0;if((Q|0)==(c[S+16>>2]|0))ud[c[(c[S>>2]|0)+40>>2]&127](S)|0;else c[R>>2]=Q+4;a[k>>0]=1;Q=a[t>>0]|0;if((Q&1)==0)Q=(Q&255)>>>1;else Q=c[H>>2]|0;R=e;M=Q>>>0>1?t:M;break b}}if(S)U=(Q&255)>>>1;else U=c[I>>2]|0;V=c[b>>2]|0;S=c[V+12>>2]|0;T=(S|0)==(c[V+16>>2]|0);if((U|0)==0){if(T){Q=ud[c[(c[V>>2]|0)+36>>2]&127](V)|0;R=a[t>>0]|0}else Q=c[S>>2]|0;if((Q|0)!=(c[((R&1)==0?H:c[z>>2]|0)>>2]|0)){R=e;break b}Q=c[b>>2]|0;R=Q+12|0;S=c[R>>2]|0;if((S|0)==(c[Q+16>>2]|0))ud[c[(c[Q>>2]|0)+40>>2]&127](Q)|0;else c[R>>2]=S+4;a[k>>0]=1;Q=a[t>>0]|0;if((Q&1)==0)Q=(Q&255)>>>1;else Q=c[H>>2]|0;R=e;M=Q>>>0>1?t:M;break b}if(T){R=ud[c[(c[V>>2]|0)+36>>2]&127](V)|0;Q=a[s>>0]|0}else R=c[S>>2]|0;if((R|0)!=(c[((Q&1)==0?I:c[y>>2]|0)>>2]|0)){a[k>>0]=1;R=e;break b}Q=c[b>>2]|0;R=Q+12|0;S=c[R>>2]|0;if((S|0)==(c[Q+16>>2]|0))ud[c[(c[Q>>2]|0)+40>>2]&127](Q)|0;else c[R>>2]=S+4;Q=a[s>>0]|0;if((Q&1)==0)Q=(Q&255)>>>1;else Q=c[I>>2]|0;R=e;M=Q>>>0>1?s:M}break};case 4:{R=e;S=e;Q=0;while(1){U=c[b>>2]|0;do if((U|0)!=0){T=c[U+12>>2]|0;if((T|0)==(c[U+16>>2]|0))T=ud[c[(c[U>>2]|0)+36>>2]&127](U)|0;else T=c[T>>2]|0;if((T|0)==-1){c[b>>2]=0;T=1;break}else{T=(c[b>>2]|0)==0;break}}else T=1;while(0);if((S|0)!=0){U=c[S+12>>2]|0;if((U|0)==(c[S+16>>2]|0))S=ud[c[(c[S>>2]|0)+36>>2]&127](S)|0;else S=c[U>>2]|0;if(!((S|0)==-1))if(T^(R|0)==0){T=R;S=R}else break;else{R=0;e=0;x=210}}else x=210;if((x|0)==210){x=0;if(T)break;else{T=R;S=0}}R=c[b>>2]|0;U=c[R+12>>2]|0;if((U|0)==(c[R+16>>2]|0))R=ud[c[(c[R>>2]|0)+36>>2]&127](R)|0;else R=c[U>>2]|0;if(md[c[(c[l>>2]|0)+12>>2]&63](l,2048,R)|0){U=c[n>>2]|0;if((U|0)==(c[E>>2]|0)){rp(m,n,E);U=c[n>>2]|0}c[n>>2]=U+4;c[U>>2]=R;Q=Q+1|0}else{U=a[v>>0]|0;if((U&1)==0)U=(U&255)>>>1;else U=c[J>>2]|0;if(!((Q|0)!=0&(U|0)!=0&(R|0)==(G|0))){R=T;break}if((P|0)==(c[D>>2]|0)){kp(p,C,D);P=c[C>>2]|0}W=P+4|0;c[C>>2]=W;c[P>>2]=Q;P=W;Q=0}V=c[b>>2]|0;U=V+12|0;R=c[U>>2]|0;if((R|0)==(c[V+16>>2]|0)){ud[c[(c[V>>2]|0)+40>>2]&127](V)|0;R=T;continue}else{c[U>>2]=R+4;R=T;continue}}if(!((Q|0)==0?1:(c[p>>2]|0)==(P|0))){if((P|0)==(c[D>>2]|0)){kp(p,C,D);P=c[C>>2]|0}W=P+4|0;c[C>>2]=W;c[P>>2]=Q;P=W}if((O|0)>0){Q=c[b>>2]|0;do if((Q|0)!=0){S=c[Q+12>>2]|0;if((S|0)==(c[Q+16>>2]|0))Q=ud[c[(c[Q>>2]|0)+36>>2]&127](Q)|0;else Q=c[S>>2]|0;if((Q|0)==-1){c[b>>2]=0;Q=1;break}else{Q=(c[b>>2]|0)==0;break}}else Q=1;while(0);if((R|0)!=0){S=c[R+12>>2]|0;if((S|0)==(c[R+16>>2]|0))S=ud[c[(c[R>>2]|0)+36>>2]&127](R)|0;else S=c[S>>2]|0;if(!((S|0)==-1)){if(!Q){x=252;break a}}else{e=0;x=246}}else x=246;if((x|0)==246){x=0;if(Q){x=252;break a}else R=0}Q=c[b>>2]|0;S=c[Q+12>>2]|0;if((S|0)==(c[Q+16>>2]|0))Q=ud[c[(c[Q>>2]|0)+36>>2]&127](Q)|0;else Q=c[S>>2]|0;if((Q|0)!=(F|0)){x=252;break a}Q=c[b>>2]|0;S=Q+12|0;T=c[S>>2]|0;if((T|0)==(c[Q+16>>2]|0)){ud[c[(c[Q>>2]|0)+40>>2]&127](Q)|0;Q=R;S=R}else{c[S>>2]=T+4;Q=R;S=R}while(1){R=c[b>>2]|0;do if((R|0)!=0){T=c[R+12>>2]|0;if((T|0)==(c[R+16>>2]|0))R=ud[c[(c[R>>2]|0)+36>>2]&127](R)|0;else R=c[T>>2]|0;if((R|0)==-1){c[b>>2]=0;T=1;break}else{T=(c[b>>2]|0)==0;break}}else T=1;while(0);if((S|0)!=0){R=c[S+12>>2]|0;if((R|0)==(c[S+16>>2]|0))R=ud[c[(c[S>>2]|0)+36>>2]&127](S)|0;else R=c[R>>2]|0;if(!((R|0)==-1))if(T^(Q|0)==0){R=Q;S=Q}else{x=274;break a}else{R=0;e=0;x=268}}else{R=Q;x=268}if((x|0)==268){x=0;if(T){x=274;break a}else S=0}T=c[b>>2]|0;Q=c[T+12>>2]|0;if((Q|0)==(c[T+16>>2]|0))Q=ud[c[(c[T>>2]|0)+36>>2]&127](T)|0;else Q=c[Q>>2]|0;if(!(md[c[(c[l>>2]|0)+12>>2]&63](l,2048,Q)|0)){x=274;break a}if((c[n>>2]|0)==(c[E>>2]|0))rp(m,n,E);T=c[b>>2]|0;Q=c[T+12>>2]|0;if((Q|0)==(c[T+16>>2]|0))Q=ud[c[(c[T>>2]|0)+36>>2]&127](T)|0;else Q=c[Q>>2]|0;U=c[n>>2]|0;c[n>>2]=U+4;c[U>>2]=Q;O=O+ -1|0;U=c[b>>2]|0;T=U+12|0;Q=c[T>>2]|0;if((Q|0)==(c[U+16>>2]|0))ud[c[(c[U>>2]|0)+40>>2]&127](U)|0;else c[T>>2]=Q+4;if((O|0)>0)Q=R;else break}}if((c[n>>2]|0)==(c[m>>2]|0)){x=285;break a}break};default:R=e}while(0);d:do if((x|0)==54){x=0;if((N|0)==3){x=287;break a}else{R=e;S=e}while(1){T=c[b>>2]|0;do if((T|0)!=0){Q=c[T+12>>2]|0;if((Q|0)==(c[T+16>>2]|0))Q=ud[c[(c[T>>2]|0)+36>>2]&127](T)|0;else Q=c[Q>>2]|0;if((Q|0)==-1){c[b>>2]=0;Q=1;break}else{Q=(c[b>>2]|0)==0;break}}else Q=1;while(0);if((S|0)!=0){T=c[S+12>>2]|0;if((T|0)==(c[S+16>>2]|0))S=ud[c[(c[S>>2]|0)+36>>2]&127](S)|0;else S=c[T>>2]|0;if(!((S|0)==-1))if(Q^(R|0)==0){Q=R;S=R}else break d;else{R=0;e=0;x=67}}else x=67;if((x|0)==67){x=0;if(Q)break d;else{Q=R;S=0}}R=c[b>>2]|0;T=c[R+12>>2]|0;if((T|0)==(c[R+16>>2]|0))R=ud[c[(c[R>>2]|0)+36>>2]&127](R)|0;else R=c[T>>2]|0;if(!(md[c[(c[l>>2]|0)+12>>2]&63](l,8192,R)|0)){R=Q;break d}U=c[b>>2]|0;R=U+12|0;T=c[R>>2]|0;if((T|0)==(c[U+16>>2]|0))R=ud[c[(c[U>>2]|0)+40>>2]&127](U)|0;else{c[R>>2]=T+4;R=c[T>>2]|0}_k(u,R);R=Q}}while(0);N=N+1|0;if(!(N>>>0<4)){e=R;x=287;break}}e:do if((x|0)==53){c[j>>2]=c[j>>2]|4;j=0}else if((x|0)==141){c[j>>2]=c[j>>2]|4;j=0}else if((x|0)==197){c[j>>2]=c[j>>2]|4;j=0}else if((x|0)==252){c[j>>2]=c[j>>2]|4;j=0}else if((x|0)==274){c[j>>2]=c[j>>2]|4;j=0}else if((x|0)==285){c[j>>2]=c[j>>2]|4;j=0}else if((x|0)==287){f:do if((M|0)!=0){m=M+4|0;l=M+8|0;n=e;B=e;k=1;while(1){C=a[M>>0]|0;if((C&1)==0)C=(C&255)>>>1;else C=c[m>>2]|0;if(!(k>>>0<C>>>0))break f;D=c[b>>2]|0;do if((D|0)!=0){C=c[D+12>>2]|0;if((C|0)==(c[D+16>>2]|0))C=ud[c[(c[D>>2]|0)+36>>2]&127](D)|0;else C=c[C>>2]|0;if((C|0)==-1){c[b>>2]=0;C=1;break}else{C=(c[b>>2]|0)==0;break}}else C=1;while(0);if((B|0)!=0){D=c[B+12>>2]|0;if((D|0)==(c[B+16>>2]|0))B=ud[c[(c[B>>2]|0)+36>>2]&127](B)|0;else B=c[D>>2]|0;if(!((B|0)==-1))if(C^(n|0)==0){C=n;B=n}else break;else{n=0;x=305}}else x=305;if((x|0)==305){x=0;if(C)break;else{C=n;B=0}}D=c[b>>2]|0;n=c[D+12>>2]|0;if((n|0)==(c[D+16>>2]|0))D=ud[c[(c[D>>2]|0)+36>>2]&127](D)|0;else D=c[n>>2]|0;if((a[M>>0]&1)==0)n=m;else n=c[l>>2]|0;if((D|0)!=(c[n+(k<<2)>>2]|0))break;k=k+1|0;D=c[b>>2]|0;E=D+12|0;n=c[E>>2]|0;if((n|0)==(c[D+16>>2]|0)){ud[c[(c[D>>2]|0)+40>>2]&127](D)|0;n=C;continue}else{c[E>>2]=n+4;n=C;continue}}c[j>>2]=c[j>>2]|4;j=0;break e}while(0);b=c[p>>2]|0;if((b|0)!=(P|0)?(c[w>>2]=0,lp(v,b,P,w),(c[w>>2]|0)!=0):0){c[j>>2]=c[j>>2]|4;j=0}else j=1}while(0);if(!((a[u>>0]&1)==0))Us(c[A>>2]|0);if(!((a[t>>0]&1)==0))Us(c[z>>2]|0);if(!((a[s>>0]&1)==0))Us(c[y>>2]|0);if(!((a[r>>0]&1)==0))Us(c[h>>2]|0);if(!((a[v>>0]&1)==0))Us(c[v+8>>2]|0);r=c[p>>2]|0;c[p>>2]=0;if((r|0)==0){i=q;return j|0}qd[c[o>>2]&255](r);i=q;return j|0}function qp(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;d=i;i=i+432|0;v=d+16|0;n=d+8|0;q=d;s=d+416|0;c[n>>2]=v;m=n+4|0;c[m>>2]=184;o=c[h+28>>2]|0;r=o+4|0;c[r>>2]=(c[r>>2]|0)+1;r=Vp(o,16712)|0;a[s>>0]=0;p=c[f>>2]|0;do if(pp(e,p,g,o,c[h+4>>2]|0,j,s,r,n,q,v+400|0)|0){if((a[k>>0]&1)==0){c[k+4>>2]=0;a[k>>0]=0}else{c[c[k+8>>2]>>2]=0;c[k+4>>2]=0}if((a[s>>0]|0)!=0)_k(k,Dd[c[(c[r>>2]|0)+44>>2]&127](r,45)|0);h=Dd[c[(c[r>>2]|0)+44>>2]&127](r,48)|0;s=c[n>>2]|0;q=c[q>>2]|0;r=q+ -4|0;a:do if(s>>>0<r>>>0)while(1){g=s+4|0;if((c[s>>2]|0)!=(h|0))break a;if(g>>>0<r>>>0)s=g;else{s=g;break}}while(0);t=s;h=a[k>>0]|0;if((h&1)==0){u=h;v=1;h=(h&255)>>>1}else{v=c[k>>2]|0;u=v&255;v=(v&-2)+ -1|0;h=c[k+4>>2]|0}g=q-t>>2;if((g|0)!=0){if((v-h|0)>>>0<g>>>0){$k(k,v,h+g-v|0,h,h,0,0);u=a[k>>0]|0}if((u&1)==0)u=k+4|0;else u=c[k+8>>2]|0;v=u+(h<<2)|0;if((s|0)!=(q|0)){r=h+((r+(0-t)|0)>>>2)+1|0;while(1){c[v>>2]=c[s>>2];s=s+4|0;if((s|0)==(q|0))break;v=v+4|0}v=u+(r<<2)|0}c[v>>2]=0;q=h+g|0;if((a[k>>0]&1)==0){a[k>>0]=q<<1;break}else{c[k+4>>2]=q;break}}}while(0);k=c[e>>2]|0;if((k|0)!=0){q=c[k+12>>2]|0;if((q|0)==(c[k+16>>2]|0))q=ud[c[(c[k>>2]|0)+36>>2]&127](k)|0;else q=c[q>>2]|0;if((q|0)==-1){c[e>>2]=0;k=0;e=1}else e=0}else{k=0;e=1}do if((p|0)!=0){q=c[p+12>>2]|0;if((q|0)==(c[p+16>>2]|0))p=ud[c[(c[p>>2]|0)+36>>2]&127](p)|0;else p=c[q>>2]|0;if(!((p|0)==-1))if(e)break;else{l=41;break}else{c[f>>2]=0;l=39;break}}else l=39;while(0);if((l|0)==39?e:0)l=41;if((l|0)==41)c[j>>2]=c[j>>2]|2;c[b>>2]=k;u=o+4|0;v=c[u>>2]|0;c[u>>2]=v+ -1;if((v|0)==0)qd[c[(c[o>>2]|0)+8>>2]&255](o);j=c[n>>2]|0;c[n>>2]=0;if((j|0)==0){i=d;return}qd[c[m>>2]&255](j);i=d;return}function rp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;g=i;h=a+4|0;j=(c[h>>2]|0)!=184;k=c[a>>2]|0;e=k;f=(c[d>>2]|0)-e|0;f=f>>>0<2147483647?f<<1:-1;e=(c[b>>2]|0)-e>>2;if(!j)k=0;k=Vs(k,f)|0;if((k|0)==0){k=_b(4)|0;c[k>>2]=24928;ed(k|0,24976,117)}if(!j){j=c[a>>2]|0;c[a>>2]=k;if((j|0)!=0){qd[c[h>>2]&255](j);k=c[a>>2]|0}}else c[a>>2]=k;c[h>>2]=185;c[b>>2]=k+(e<<2);c[d>>2]=(c[a>>2]|0)+(f>>>2<<2);i=g;return}function sp(a){a=a|0;var b=0;b=i;Us(a);i=b;return}function tp(a){a=a|0;return}function up(b,d,e,f,g,j,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;l=+l;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;p=i;i=i+368|0;v=p;A=p+156|0;B=p+132|0;x=p+256|0;t=p+148|0;s=p+356|0;d=p+357|0;q=p+136|0;m=p+104|0;n=p+116|0;C=p+100|0;r=p+128|0;o=p+152|0;c[B>>2]=A;h[k>>3]=l;c[v>>2]=c[k>>2];c[v+4>>2]=c[k+4>>2];A=dt(A,100,16488,v)|0;if(A>>>0>99){A=Em()|0;h[k>>3]=l;c[v>>2]=c[k>>2];c[v+4>>2]=c[k+4>>2];A=mn(B,A,16488,v)|0;w=c[B>>2]|0;if((w|0)==0){D=_b(4)|0;c[D>>2]=24928;ed(D|0,24976,117)}x=Ts(A)|0;if((x|0)==0){D=_b(4)|0;c[D>>2]=24928;ed(D|0,24976,117)}else u=x}else{u=0;w=0}y=c[g+28>>2]|0;z=y+4|0;c[z>>2]=(c[z>>2]|0)+1;z=Vp(y,16720)|0;B=c[B>>2]|0;Ad[c[(c[z>>2]|0)+32>>2]&31](z,B,B+A|0,x)|0;if((A|0)==0)B=0;else B=(a[B>>0]|0)==45;c[t>>2]=0;c[q+0>>2]=0;c[q+4>>2]=0;c[q+8>>2]=0;c[m+0>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[n+0>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;vp(f,B,y,t,s,d,q,m,n,C);f=c[C>>2]|0;if((A|0)>(f|0)){C=a[n>>0]|0;if((C&1)==0)C=(C&255)>>>1;else C=c[n+4>>2]|0;D=a[m>>0]|0;if((D&1)==0)D=(D&255)>>>1;else D=c[m+4>>2]|0;C=C+(A-f<<1|1)+D|0}else{C=a[n>>0]|0;if((C&1)==0)C=(C&255)>>>1;else C=c[n+4>>2]|0;D=a[m>>0]|0;if((D&1)==0)D=(D&255)>>>1;else D=c[m+4>>2]|0;C=C+2+D|0}C=C+f|0;if(C>>>0>100){v=Ts(C)|0;if((v|0)==0){D=_b(4)|0;c[D>>2]=24928;ed(D|0,24976,117)}else C=v}else C=0;wp(v,r,o,c[g+4>>2]|0,x,x+A|0,z,B,t,a[s>>0]|0,a[d>>0]|0,q,m,n,f);fn(b,c[e>>2]|0,v,c[r>>2]|0,c[o>>2]|0,g,j);Us(C);if(!((a[n>>0]&1)==0))Us(c[n+8>>2]|0);if(!((a[m>>0]&1)==0))Us(c[m+8>>2]|0);if(!((a[q>>0]&1)==0))Us(c[q+8>>2]|0);C=y+4|0;D=c[C>>2]|0;c[C>>2]=D+ -1;if((D|0)!=0){Us(u);Us(w);i=p;return}qd[c[(c[y>>2]|0)+8>>2]&255](y);Us(u);Us(w);i=p;return}function vp(b,d,e,f,g,h,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;n=i;i=i+112|0;w=n;v=n+16|0;y=n+92|0;x=n+40|0;u=n+80|0;s=n+96|0;q=n+108|0;p=n+56|0;t=n+52|0;r=n+28|0;o=n+4|0;z=n+68|0;if(b){o=Vp(e,16176)|0;p=c[o>>2]|0;if(d){rd[c[p+44>>2]&127](w,o);b=c[w>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;rd[c[(c[o>>2]|0)+32>>2]&127](v,o);if((a[l>>0]&1)==0){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}Pk(l);c[l+0>>2]=c[v+0>>2];c[l+4>>2]=c[v+4>>2];c[l+8>>2]=c[v+8>>2];c[v+0>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0}else{rd[c[p+40>>2]&127](y,o);b=c[y>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;rd[c[(c[o>>2]|0)+28>>2]&127](x,o);if((a[l>>0]&1)==0){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}Pk(l);c[l+0>>2]=c[x+0>>2];c[l+4>>2]=c[x+4>>2];c[l+8>>2]=c[x+8>>2];c[x+0>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0}a[g>>0]=ud[c[(c[o>>2]|0)+12>>2]&127](o)|0;a[h>>0]=ud[c[(c[o>>2]|0)+16>>2]&127](o)|0;rd[c[(c[o>>2]|0)+20>>2]&127](u,o);if((a[j>>0]&1)==0){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}Pk(j);c[j+0>>2]=c[u+0>>2];c[j+4>>2]=c[u+4>>2];c[j+8>>2]=c[u+8>>2];c[u+0>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;rd[c[(c[o>>2]|0)+24>>2]&127](s,o);if((a[k>>0]&1)==0){a[k+1>>0]=0;a[k>>0]=0}else{a[c[k+8>>2]>>0]=0;c[k+4>>2]=0}Pk(k);c[k+0>>2]=c[s+0>>2];c[k+4>>2]=c[s+4>>2];c[k+8>>2]=c[s+8>>2];c[s+0>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;b=ud[c[(c[o>>2]|0)+36>>2]&127](o)|0;c[m>>2]=b;i=n;return}else{s=Vp(e,16112)|0;u=c[s>>2]|0;if(d){rd[c[u+44>>2]&127](q,s);b=c[q>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;rd[c[(c[s>>2]|0)+32>>2]&127](p,s);if((a[l>>0]&1)==0){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}Pk(l);c[l+0>>2]=c[p+0>>2];c[l+4>>2]=c[p+4>>2];c[l+8>>2]=c[p+8>>2];c[p+0>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0}else{rd[c[u+40>>2]&127](t,s);b=c[t>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;rd[c[(c[s>>2]|0)+28>>2]&127](r,s);if((a[l>>0]&1)==0){a[l+1>>0]=0;a[l>>0]=0}else{a[c[l+8>>2]>>0]=0;c[l+4>>2]=0}Pk(l);c[l+0>>2]=c[r+0>>2];c[l+4>>2]=c[r+4>>2];c[l+8>>2]=c[r+8>>2];c[r+0>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0}a[g>>0]=ud[c[(c[s>>2]|0)+12>>2]&127](s)|0;a[h>>0]=ud[c[(c[s>>2]|0)+16>>2]&127](s)|0;rd[c[(c[s>>2]|0)+20>>2]&127](o,s);if((a[j>>0]&1)==0){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}Pk(j);c[j+0>>2]=c[o+0>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];c[o+0>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;rd[c[(c[s>>2]|0)+24>>2]&127](z,s);if((a[k>>0]&1)==0){a[k+1>>0]=0;a[k>>0]=0}else{a[c[k+8>>2]>>0]=0;c[k+4>>2]=0}Pk(k);c[k+0>>2]=c[z+0>>2];c[k+4>>2]=c[z+4>>2];c[k+8>>2]=c[z+8>>2];c[z+0>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=ud[c[(c[s>>2]|0)+36>>2]&127](s)|0;c[m>>2]=b;i=n;return}}function wp(d,e,f,g,h,j,k,l,m,n,o,p,q,r,s){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;s=s|0;var t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0;t=i;c[f>>2]=d;w=r+1|0;v=r+8|0;u=r+4|0;C=(g&512|0)==0;z=q+1|0;A=q+8|0;B=q+4|0;I=(s|0)>0;D=p+1|0;E=p+8|0;F=p+4|0;y=k+8|0;G=0-s|0;J=0;do{switch(a[m+J>>0]|0){case 3:{L=a[r>>0]|0;K=(L&1)==0;if(K)L=(L&255)>>>1;else L=c[u>>2]|0;if((L|0)!=0){if(K)K=w;else K=c[v>>2]|0;P=a[K>>0]|0;Q=c[f>>2]|0;c[f>>2]=Q+1;a[Q>>0]=P}break};case 1:{c[e>>2]=c[f>>2];P=Dd[c[(c[k>>2]|0)+28>>2]&127](k,32)|0;Q=c[f>>2]|0;c[f>>2]=Q+1;a[Q>>0]=P;break};case 0:{c[e>>2]=c[f>>2];break};case 4:{K=c[f>>2]|0;h=l?h+1|0:h;a:do if(h>>>0<j>>>0){L=h;while(1){M=a[L>>0]|0;if(!(M<<24>>24>-1))break a;N=L+1|0;if((b[(c[y>>2]|0)+(M<<24>>24<<1)>>1]&2048)==0)break a;if(N>>>0<j>>>0)L=N;else{L=N;break}}}else L=h;while(0);M=L;if(I){if(L>>>0>h>>>0){N=h+(0-M)|0;N=N>>>0<G>>>0?G:N;M=N+s|0;P=K;Q=L;O=s;while(1){Q=Q+ -1|0;R=a[Q>>0]|0;c[f>>2]=P+1;a[P>>0]=R;O=O+ -1|0;P=(O|0)>0;if(!(Q>>>0>h>>>0&P))break;P=c[f>>2]|0}L=L+N|0;if(P)H=32;else N=0}else{M=s;H=32}if((H|0)==32){H=0;N=Dd[c[(c[k>>2]|0)+28>>2]&127](k,48)|0}O=c[f>>2]|0;c[f>>2]=O+1;if((M|0)>0)do{a[O>>0]=N;M=M+ -1|0;O=c[f>>2]|0;c[f>>2]=O+1}while((M|0)>0);a[O>>0]=n}if((L|0)==(h|0)){Q=Dd[c[(c[k>>2]|0)+28>>2]&127](k,48)|0;R=c[f>>2]|0;c[f>>2]=R+1;a[R>>0]=Q}else{N=a[p>>0]|0;M=(N&1)==0;if(M)N=(N&255)>>>1;else N=c[F>>2]|0;if((N|0)==0){M=-1;N=0;O=0}else{if(M)M=D;else M=c[E>>2]|0;M=a[M>>0]|0;N=0;O=0}while(1){if((O|0)==(M|0)){P=c[f>>2]|0;c[f>>2]=P+1;a[P>>0]=o;N=N+1|0;P=a[p>>0]|0;O=(P&1)==0;if(O)P=(P&255)>>>1;else P=c[F>>2]|0;if(N>>>0<P>>>0){if(O)M=D;else M=c[E>>2]|0;if((a[M+N>>0]|0)==127){M=-1;O=0}else{if(O)M=D;else M=c[E>>2]|0;M=a[M+N>>0]|0;O=0}}else O=0}L=L+ -1|0;Q=a[L>>0]|0;R=c[f>>2]|0;c[f>>2]=R+1;a[R>>0]=Q;if((L|0)==(h|0))break;else O=O+1|0}}L=c[f>>2]|0;if((K|0)!=(L|0)?(x=L+ -1|0,x>>>0>K>>>0):0){L=x;do{R=a[K>>0]|0;a[K>>0]=a[L>>0]|0;a[L>>0]=R;K=K+1|0;L=L+ -1|0}while(K>>>0<L>>>0)}break};case 2:{K=a[q>>0]|0;M=(K&1)==0;if(M)L=(K&255)>>>1;else L=c[B>>2]|0;if(!((L|0)==0|C)){if(M){L=z;K=(K&255)>>>1}else{L=c[A>>2]|0;K=c[B>>2]|0}K=L+K|0;M=c[f>>2]|0;if((L|0)!=(K|0))do{a[M>>0]=a[L>>0]|0;L=L+1|0;M=M+1|0}while((L|0)!=(K|0));c[f>>2]=M}break};default:{}}J=J+1|0}while((J|0)!=4);x=a[r>>0]|0;y=(x&1)==0;if(y)z=(x&255)>>>1;else z=c[u>>2]|0;if(z>>>0>1){if(y)u=(x&255)>>>1;else{w=c[v>>2]|0;u=c[u>>2]|0}v=w+1|0;u=w+u|0;w=c[f>>2]|0;if((v|0)!=(u|0))do{a[w>>0]=a[v>>0]|0;v=v+1|0;w=w+1|0}while((v|0)!=(u|0));c[f>>2]=w}g=g&176;if((g|0)==32){c[e>>2]=c[f>>2];i=t;return}else if((g|0)==16){i=t;return}else{c[e>>2]=d;i=t;return}}function xp(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;q=i;i=i+160|0;s=q;k=q+52|0;r=q+53|0;l=q+16|0;m=q+4|0;n=q+40|0;w=q+36|0;v=q+56|0;p=q+28|0;t=q+32|0;o=c[g+28>>2]|0;d=o+4|0;c[d>>2]=(c[d>>2]|0)+1;d=Vp(o,16720)|0;x=a[j>>0]|0;u=(x&1)==0;if(u)x=(x&255)>>>1;else x=c[j+4>>2]|0;if((x|0)==0)u=0;else{if(u)u=j+1|0;else u=c[j+8>>2]|0;u=a[u>>0]|0;u=u<<24>>24==(Dd[c[(c[d>>2]|0)+28>>2]&127](d,45)|0)<<24>>24}c[s>>2]=0;c[l+0>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[m+0>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[n+0>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;vp(f,u,o,s,k,r,l,m,n,w);f=a[j>>0]|0;x=(f&1)==0;if(x)y=(f&255)>>>1;else y=c[j+4>>2]|0;w=c[w>>2]|0;if((y|0)>(w|0)){if(x)y=(f&255)>>>1;else y=c[j+4>>2]|0;z=a[n>>0]|0;if((z&1)==0)z=(z&255)>>>1;else z=c[n+4>>2]|0;A=a[m>>0]|0;if((A&1)==0)A=(A&255)>>>1;else A=c[m+4>>2]|0;y=z+(y-w<<1|1)+A|0}else{y=a[n>>0]|0;if((y&1)==0)y=(y&255)>>>1;else y=c[n+4>>2]|0;z=a[m>>0]|0;if((z&1)==0)z=(z&255)>>>1;else z=c[m+4>>2]|0;y=y+2+z|0}y=y+w|0;if(y>>>0>100){y=Ts(y)|0;if((y|0)==0){A=_b(4)|0;c[A>>2]=24928;ed(A|0,24976,117)}else v=y}else y=0;if(x){x=j+1|0;j=(f&255)>>>1}else{x=c[j+8>>2]|0;j=c[j+4>>2]|0}wp(v,p,t,c[g+4>>2]|0,x,x+j|0,d,u,s,a[k>>0]|0,a[r>>0]|0,l,m,n,w);fn(b,c[e>>2]|0,v,c[p>>2]|0,c[t>>2]|0,g,h);Us(y);if(!((a[n>>0]&1)==0))Us(c[n+8>>2]|0);if(!((a[m>>0]&1)==0))Us(c[m+8>>2]|0);if(!((a[l>>0]&1)==0))Us(c[l+8>>2]|0);z=o+4|0;A=c[z>>2]|0;c[z>>2]=A+ -1;if((A|0)!=0){i=q;return}qd[c[(c[o>>2]|0)+8>>2]&255](o);i=q;return}function yp(a){a=a|0;var b=0;b=i;Us(a);i=b;return}function zp(a){a=a|0;return}function Ap(b,d,e,f,g,j,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;l=+l;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;p=i;i=i+976|0;v=p;A=p+868|0;B=p+816|0;x=p+416|0;q=p+408|0;m=p+860|0;n=p+400|0;r=p+824|0;o=p+836|0;t=p+848|0;C=p+820|0;s=p+404|0;d=p+864|0;c[B>>2]=A;h[k>>3]=l;c[v>>2]=c[k>>2];c[v+4>>2]=c[k+4>>2];A=dt(A,100,16488,v)|0;if(A>>>0>99){A=Em()|0;h[k>>3]=l;c[v>>2]=c[k>>2];c[v+4>>2]=c[k+4>>2];A=mn(B,A,16488,v)|0;w=c[B>>2]|0;if((w|0)==0){D=_b(4)|0;c[D>>2]=24928;ed(D|0,24976,117)}x=Ts(A<<2)|0;if((x|0)==0){D=_b(4)|0;c[D>>2]=24928;ed(D|0,24976,117)}else u=x}else{u=0;w=0}z=c[g+28>>2]|0;y=z+4|0;c[y>>2]=(c[y>>2]|0)+1;y=Vp(z,16712)|0;B=c[B>>2]|0;Ad[c[(c[y>>2]|0)+48>>2]&31](y,B,B+A|0,x)|0;if((A|0)==0)B=0;else B=(a[B>>0]|0)==45;c[q>>2]=0;c[r+0>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0;c[o+0>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[t+0>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;Bp(f,B,z,q,m,n,r,o,t,C);f=c[C>>2]|0;if((A|0)>(f|0)){C=a[t>>0]|0;if((C&1)==0)C=(C&255)>>>1;else C=c[t+4>>2]|0;D=a[o>>0]|0;if((D&1)==0)D=(D&255)>>>1;else D=c[o+4>>2]|0;C=C+(A-f<<1|1)+D|0}else{C=a[t>>0]|0;if((C&1)==0)C=(C&255)>>>1;else C=c[t+4>>2]|0;D=a[o>>0]|0;if((D&1)==0)D=(D&255)>>>1;else D=c[o+4>>2]|0;C=C+2+D|0}C=C+f|0;if(C>>>0>100){v=Ts(C<<2)|0;if((v|0)==0){D=_b(4)|0;c[D>>2]=24928;ed(D|0,24976,117)}else C=v}else C=0;Cp(v,s,d,c[g+4>>2]|0,x,x+(A<<2)|0,y,B,q,c[m>>2]|0,c[n>>2]|0,r,o,t,f);vn(b,c[e>>2]|0,v,c[s>>2]|0,c[d>>2]|0,g,j);if((C|0)!=0)Us(C);if(!((a[t>>0]&1)==0))Us(c[t+8>>2]|0);if(!((a[o>>0]&1)==0))Us(c[o+8>>2]|0);if(!((a[r>>0]&1)==0))Us(c[r+8>>2]|0);C=z+4|0;D=c[C>>2]|0;c[C>>2]=D+ -1;if((D|0)==0)qd[c[(c[z>>2]|0)+8>>2]&255](z);if((u|0)==0){Us(w);i=p;return}Us(u);Us(w);i=p;return}function Bp(b,d,e,f,g,h,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;n=i;i=i+112|0;w=n;v=n+16|0;y=n+92|0;x=n+40|0;u=n+80|0;s=n+96|0;q=n+108|0;p=n+56|0;t=n+52|0;r=n+28|0;o=n+4|0;z=n+68|0;if(b){o=Vp(e,16304)|0;p=c[o>>2]|0;if(d){rd[c[p+44>>2]&127](w,o);b=c[w>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;rd[c[(c[o>>2]|0)+32>>2]&127](v,o);if((a[l>>0]&1)==0){c[l+4>>2]=0;a[l>>0]=0}else{c[c[l+8>>2]>>2]=0;c[l+4>>2]=0}Zk(l);c[l+0>>2]=c[v+0>>2];c[l+4>>2]=c[v+4>>2];c[l+8>>2]=c[v+8>>2];c[v+0>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0}else{rd[c[p+40>>2]&127](y,o);b=c[y>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;rd[c[(c[o>>2]|0)+28>>2]&127](x,o);if((a[l>>0]&1)==0){c[l+4>>2]=0;a[l>>0]=0}else{c[c[l+8>>2]>>2]=0;c[l+4>>2]=0}Zk(l);c[l+0>>2]=c[x+0>>2];c[l+4>>2]=c[x+4>>2];c[l+8>>2]=c[x+8>>2];c[x+0>>2]=0;c[x+4>>2]=0;c[x+8>>2]=0}c[g>>2]=ud[c[(c[o>>2]|0)+12>>2]&127](o)|0;c[h>>2]=ud[c[(c[o>>2]|0)+16>>2]&127](o)|0;rd[c[(c[o>>2]|0)+20>>2]&127](u,o);if((a[j>>0]&1)==0){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}Pk(j);c[j+0>>2]=c[u+0>>2];c[j+4>>2]=c[u+4>>2];c[j+8>>2]=c[u+8>>2];c[u+0>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;rd[c[(c[o>>2]|0)+24>>2]&127](s,o);if((a[k>>0]&1)==0){c[k+4>>2]=0;a[k>>0]=0}else{c[c[k+8>>2]>>2]=0;c[k+4>>2]=0}Zk(k);c[k+0>>2]=c[s+0>>2];c[k+4>>2]=c[s+4>>2];c[k+8>>2]=c[s+8>>2];c[s+0>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;b=ud[c[(c[o>>2]|0)+36>>2]&127](o)|0;c[m>>2]=b;i=n;return}else{s=Vp(e,16240)|0;u=c[s>>2]|0;if(d){rd[c[u+44>>2]&127](q,s);b=c[q>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;rd[c[(c[s>>2]|0)+32>>2]&127](p,s);if((a[l>>0]&1)==0){c[l+4>>2]=0;a[l>>0]=0}else{c[c[l+8>>2]>>2]=0;c[l+4>>2]=0}Zk(l);c[l+0>>2]=c[p+0>>2];c[l+4>>2]=c[p+4>>2];c[l+8>>2]=c[p+8>>2];c[p+0>>2]=0;c[p+4>>2]=0;c[p+8>>2]=0}else{rd[c[u+40>>2]&127](t,s);b=c[t>>2]|0;a[f>>0]=b;a[f+1>>0]=b>>8;a[f+2>>0]=b>>16;a[f+3>>0]=b>>24;rd[c[(c[s>>2]|0)+28>>2]&127](r,s);if((a[l>>0]&1)==0){c[l+4>>2]=0;a[l>>0]=0}else{c[c[l+8>>2]>>2]=0;c[l+4>>2]=0}Zk(l);c[l+0>>2]=c[r+0>>2];c[l+4>>2]=c[r+4>>2];c[l+8>>2]=c[r+8>>2];c[r+0>>2]=0;c[r+4>>2]=0;c[r+8>>2]=0}c[g>>2]=ud[c[(c[s>>2]|0)+12>>2]&127](s)|0;c[h>>2]=ud[c[(c[s>>2]|0)+16>>2]&127](s)|0;rd[c[(c[s>>2]|0)+20>>2]&127](o,s);if((a[j>>0]&1)==0){a[j+1>>0]=0;a[j>>0]=0}else{a[c[j+8>>2]>>0]=0;c[j+4>>2]=0}Pk(j);c[j+0>>2]=c[o+0>>2];c[j+4>>2]=c[o+4>>2];c[j+8>>2]=c[o+8>>2];c[o+0>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;rd[c[(c[s>>2]|0)+24>>2]&127](z,s);if((a[k>>0]&1)==0){c[k+4>>2]=0;a[k>>0]=0}else{c[c[k+8>>2]>>2]=0;c[k+4>>2]=0}Zk(k);c[k+0>>2]=c[z+0>>2];c[k+4>>2]=c[z+4>>2];c[k+8>>2]=c[z+8>>2];c[z+0>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;b=ud[c[(c[s>>2]|0)+36>>2]&127](s)|0;c[m>>2]=b;i=n;return}}function Cp(b,d,e,f,g,h,j,k,l,m,n,o,p,q,r){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;q=q|0;r=r|0;var s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;s=i;c[e>>2]=b;t=q+4|0;u=q+8|0;w=(f&512|0)==0;D=p+4|0;v=p+8|0;y=(r|0)>0;C=o+1|0;z=o+8|0;x=o+4|0;E=0;do{switch(a[l+E>>0]|0){case 0:{c[d>>2]=c[e>>2];break};case 4:{F=c[e>>2]|0;g=k?g+4|0:g;a:do if(g>>>0<h>>>0){G=g;while(1){H=G+4|0;if(!(md[c[(c[j>>2]|0)+12>>2]&63](j,2048,c[G>>2]|0)|0))break a;if(H>>>0<h>>>0)G=H;else{G=H;break}}}else G=g;while(0);if(y){if(G>>>0>g>>>0){L=r;I=c[e>>2]|0;while(1){G=G+ -4|0;J=I+4|0;c[I>>2]=c[G>>2];L=L+ -1|0;H=(L|0)>0;if(!(G>>>0>g>>>0&H))break;else I=J}c[e>>2]=J;if(H)B=34;else c[e>>2]=I+8}else{L=r;B=34}if((B|0)==34){B=0;I=Dd[c[(c[j>>2]|0)+44>>2]&127](j,48)|0;J=c[e>>2]|0;M=J+4|0;c[e>>2]=M;if((L|0)>0){K=J;H=L;while(1){c[K>>2]=I;H=H+ -1|0;if((H|0)<=0)break;else{K=M;M=M+4|0}}c[e>>2]=J+(L+1<<2);J=J+(L<<2)|0}}c[J>>2]=m}if((G|0)==(g|0)){K=Dd[c[(c[j>>2]|0)+44>>2]&127](j,48)|0;M=c[e>>2]|0;L=M+4|0;c[e>>2]=L;c[M>>2]=K}else{I=a[o>>0]|0;H=(I&1)==0;if(H)I=(I&255)>>>1;else I=c[x>>2]|0;if((I|0)==0)H=-1;else{if(H)H=C;else H=c[z>>2]|0;H=a[H>>0]|0}I=c[e>>2]|0;K=0;J=0;while(1){if((J|0)==(H|0)){J=I+4|0;c[e>>2]=J;c[I>>2]=n;K=K+1|0;L=a[o>>0]|0;I=(L&1)==0;if(I)L=(L&255)>>>1;else L=c[x>>2]|0;if(K>>>0<L>>>0){if(I)H=C;else H=c[z>>2]|0;if((a[H+K>>0]|0)==127){I=J;H=-1;J=0}else{if(I)H=C;else H=c[z>>2]|0;I=J;H=a[H+K>>0]|0;J=0}}else{I=J;J=0}}G=G+ -4|0;M=c[G>>2]|0;L=I+4|0;c[e>>2]=L;c[I>>2]=M;if((G|0)==(g|0))break;else{I=L;J=J+1|0}}}if((F|0)!=(L|0)?(A=L+ -4|0,A>>>0>F>>>0):0){G=A;do{M=c[F>>2]|0;c[F>>2]=c[G>>2];c[G>>2]=M;F=F+4|0;G=G+ -4|0}while(F>>>0<G>>>0)}break};case 3:{G=a[q>>0]|0;F=(G&1)==0;if(F)G=(G&255)>>>1;else G=c[t>>2]|0;if((G|0)!=0){if(F)F=t;else F=c[u>>2]|0;L=c[F>>2]|0;M=c[e>>2]|0;c[e>>2]=M+4;c[M>>2]=L}break};case 2:{F=a[p>>0]|0;G=(F&1)==0;if(G)H=(F&255)>>>1;else H=c[D>>2]|0;if(!((H|0)==0|w)){if(G){I=D;H=(F&255)>>>1}else{I=c[v>>2]|0;H=c[D>>2]|0}G=I+(H<<2)|0;F=c[e>>2]|0;if((I|0)!=(G|0)){H=(I+(H+ -1<<2)+(0-I)|0)>>>2;J=F;while(1){c[J>>2]=c[I>>2];I=I+4|0;if((I|0)==(G|0))break;J=J+4|0}F=F+(H+1<<2)|0}c[e>>2]=F}break};case 1:{c[d>>2]=c[e>>2];L=Dd[c[(c[j>>2]|0)+44>>2]&127](j,32)|0;M=c[e>>2]|0;c[e>>2]=M+4;c[M>>2]=L;break};default:{}}E=E+1|0}while((E|0)!=4);v=a[q>>0]|0;w=(v&1)==0;if(w)r=(v&255)>>>1;else r=c[t>>2]|0;if(r>>>0>1){if(w){r=t;w=(v&255)>>>1}else{r=c[u>>2]|0;w=c[t>>2]|0}v=r+4|0;u=r+(w<<2)|0;t=c[e>>2]|0;if((v|0)!=(u|0)){r=(r+(w+ -1<<2)+(0-v)|0)>>>2;w=t;while(1){c[w>>2]=c[v>>2];v=v+4|0;if((v|0)==(u|0))break;else w=w+4|0}t=t+(r+1<<2)|0}c[e>>2]=t}f=f&176;if((f|0)==32){c[d>>2]=c[e>>2];i=s;return}else if((f|0)==16){i=s;return}else{c[d>>2]=b;i=s;return}}function Dp(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;q=i;i=i+464|0;s=q;k=q+24|0;r=q+432|0;l=q+4|0;m=q+436|0;n=q+448|0;w=q+20|0;u=q+32|0;p=q+28|0;t=q+16|0;o=c[g+28>>2]|0;d=o+4|0;c[d>>2]=(c[d>>2]|0)+1;d=Vp(o,16712)|0;x=a[j>>0]|0;v=(x&1)==0;if(v)x=(x&255)>>>1;else x=c[j+4>>2]|0;if((x|0)==0)v=0;else{if(v)v=j+4|0;else v=c[j+8>>2]|0;v=c[v>>2]|0;v=(v|0)==(Dd[c[(c[d>>2]|0)+44>>2]&127](d,45)|0)}c[s>>2]=0;c[l+0>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;c[m+0>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[n+0>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;Bp(f,v,o,s,k,r,l,m,n,w);f=a[j>>0]|0;x=(f&1)==0;if(x)y=(f&255)>>>1;else y=c[j+4>>2]|0;w=c[w>>2]|0;if((y|0)>(w|0)){if(x)y=(f&255)>>>1;else y=c[j+4>>2]|0;z=a[n>>0]|0;if((z&1)==0)z=(z&255)>>>1;else z=c[n+4>>2]|0;A=a[m>>0]|0;if((A&1)==0)A=(A&255)>>>1;else A=c[m+4>>2]|0;y=z+(y-w<<1|1)+A|0}else{y=a[n>>0]|0;if((y&1)==0)y=(y&255)>>>1;else y=c[n+4>>2]|0;z=a[m>>0]|0;if((z&1)==0)z=(z&255)>>>1;else z=c[m+4>>2]|0;y=y+2+z|0}y=y+w|0;if(y>>>0>100){u=Ts(y<<2)|0;if((u|0)==0){A=_b(4)|0;c[A>>2]=24928;ed(A|0,24976,117)}else y=u}else y=0;if(x){x=j+4|0;j=(f&255)>>>1}else{x=c[j+8>>2]|0;j=c[j+4>>2]|0}Cp(u,p,t,c[g+4>>2]|0,x,x+(j<<2)|0,d,v,s,c[k>>2]|0,c[r>>2]|0,l,m,n,w);vn(b,c[e>>2]|0,u,c[p>>2]|0,c[t>>2]|0,g,h);if((y|0)!=0)Us(y);if(!((a[n>>0]&1)==0))Us(c[n+8>>2]|0);if(!((a[m>>0]&1)==0))Us(c[m+8>>2]|0);if(!((a[l>>0]&1)==0))Us(c[l+8>>2]|0);z=o+4|0;A=c[z>>2]|0;c[z>>2]=A+ -1;if((A|0)!=0){i=q;return}qd[c[(c[o>>2]|0)+8>>2]&255](o);i=q;return}function Ep(a){a=a|0;var b=0;b=i;Us(a);i=b;return}function Fp(a){a=a|0;return}function Gp(b,d,e){b=b|0;d=d|0;e=e|0;b=i;if((a[d>>0]&1)==0)d=d+1|0;else d=c[d+8>>2]|0;e=Qb(d|0,1)|0;i=b;return e>>>((e|0)!=(-1|0)&1)|0}function Hp(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0;d=i;i=i+16|0;j=d;c[j+0>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;l=a[h>>0]|0;if((l&1)==0){l=(l&255)>>>1;h=h+1|0}else{l=c[h+4>>2]|0;h=c[h+8>>2]|0}l=h+l|0;if(h>>>0<l>>>0){do{Qk(j,a[h>>0]|0);h=h+1|0}while((h|0)!=(l|0));e=(e|0)==-1?-1:e<<1;if((a[j>>0]&1)==0)k=9;else h=c[j+8>>2]|0}else{e=(e|0)==-1?-1:e<<1;k=9}if((k|0)==9)h=j+1|0;g=Oc(e|0,f|0,g|0,h|0)|0;c[b+0>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;l=ot(g|0)|0;f=g+l|0;if((l|0)>0)do{Qk(b,a[g>>0]|0);g=g+1|0}while((g|0)!=(f|0));if((a[j>>0]&1)==0){i=d;return}Us(c[j+8>>2]|0);i=d;return}function Ip(a,b){a=a|0;b=b|0;a=i;gb(((b|0)==-1?-1:b<<1)|0)|0;i=a;return}function Jp(a){a=a|0;var b=0;b=i;Us(a);i=b;return}function Kp(a){a=a|0;return}function Lp(b,d,e){b=b|0;d=d|0;e=e|0;b=i;if((a[d>>0]&1)==0)d=d+1|0;else d=c[d+8>>2]|0;e=Qb(d|0,1)|0;i=b;return e>>>((e|0)!=(-1|0)&1)|0}function Mp(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;o=i;i=i+176|0;m=o;k=o+40|0;j=o+168|0;n=o+172|0;d=o+16|0;q=o+8|0;l=o+32|0;c[d+0>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[q+4>>2]=0;c[q>>2]=18336;r=a[h>>0]|0;if((r&1)==0){s=h+4|0;h=(r&255)>>>1}else{s=c[h+8>>2]|0;h=c[h+4>>2]|0}r=s+(h<<2)|0;t=m;c[t>>2]=0;c[t+4>>2]=0;do if(s>>>0<r>>>0){h=k+32|0;t=18336|0;while(1){c[n>>2]=s;u=(zd[c[t+12>>2]&31](q,m,s,r,n,k,h,j)|0)==2;t=c[n>>2]|0;if(u|(t|0)==(s|0)){q=8;break}if(k>>>0<(c[j>>2]|0)>>>0){s=k;do{Qk(d,a[s>>0]|0);s=s+1|0}while(s>>>0<(c[j>>2]|0)>>>0);s=c[n>>2]|0}else s=t;if(!(s>>>0<r>>>0)){q=13;break}t=c[q>>2]|0}if((q|0)==8)hp(17560);else if((q|0)==13){p=(a[d>>0]&1)==0;break}}else p=1;while(0);if(p)p=d+1|0;else p=c[d+8>>2]|0;p=Oc(((e|0)==-1?-1:e<<1)|0,f|0,g|0,p|0)|0;c[b+0>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[l+4>>2]=0;c[l>>2]=18440;u=ot(p|0)|0;g=p+u|0;t=m;c[t>>2]=0;c[t+4>>2]=0;a:do if((u|0)>0){f=g;e=k+128|0;q=18440|0;while(1){c[n>>2]=p;u=(zd[c[q+16>>2]&31](l,m,p,(f-p|0)>32?p+32|0:g,n,k,e,j)|0)==2;q=c[n>>2]|0;if(u|(q|0)==(p|0))break;if(k>>>0<(c[j>>2]|0)>>>0){p=k;do{_k(b,c[p>>2]|0);p=p+4|0}while(p>>>0<(c[j>>2]|0)>>>0);p=c[n>>2]|0}else p=q;if(!(p>>>0<g>>>0))break a;q=c[l>>2]|0}hp(17560)}while(0);if((a[d>>0]&1)==0){i=o;return}Us(c[d+8>>2]|0);i=o;return}function Np(a,b){a=a|0;b=b|0;a=i;gb(((b|0)==-1?-1:b<<1)|0)|0;i=a;return}function Op(a){a=a|0;var b=0,d=0;b=i;c[a>>2]=16808;a=a+8|0;d=c[a>>2]|0;if((d|0)==(Em()|0)){i=b;return}vb(c[a>>2]|0);i=b;return}function Pp(){var b=0,d=0,e=0;b=_b(8)|0;c[b>>2]=25128;e=bs(19)|0;c[e+4>>2]=6;c[e>>2]=6;d=e+12|0;c[b+4>>2]=d;c[e+8>>2]=0;a[d+0>>0]=a[16616]|0;a[d+1>>0]=a[16617]|0;a[d+2>>0]=a[16618]|0;a[d+3>>0]=a[16619]|0;a[d+4>>0]=a[16620]|0;a[d+5>>0]=a[16621]|0;a[d+6>>0]=a[16622]|0;c[b>>2]=25208;ed(b|0,25248,119)}function Qp(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;g=i;i=i+16|0;j=g;h=d+4|0;c[h>>2]=(c[h>>2]|0)+1;h=b+12|0;m=c[h>>2]|0;f=b+8|0;l=c[f>>2]|0;r=m;q=l;k=r-q>>2;do Eif(!(k>>>0>e>>>0)){p=e+1|0;Iif(!(k>>>0<p>>>0)){if(!(k>>>0>p>>>0))break;j=l+(p<<2)|0;if((m|0)==(j|0))break;c[h>>2]=m+(~((m+ -4+(0-j)|0)>>>2)<<2);break}n=p-k|0;l=b+16|0;s=c[l>>2]|0;do Iif(s-r>>2>>>0<n>>>0){m=b+24|0;if(p>>>0>1073741823)Pp();q=s-q|0;if(q>>2>>>0<536870911){q=q>>1;q=q>>>0<p>>>0?p:q;c[j>>2]=0;if((q|0)!=0){p=b+136|0;if((a[p>>0]|0)==0&q>>>0<29){a[p>>0]=1;p=m}else o=14}else{p=0;q=0}}else{c[j>>2]=0;q=1073741823;o=14}if((o|0)==14)p=bs(q<<2)|0;c[j>>2]=p+(q<<2);o=p+(k<<2)|0;do{if((o|0)==0)o=0;else c[o>>2]=0;o=o+4|0;n=n+ -1|0}while((n|0)!=0);q=c[f>>2]|0;r=(c[h>>2]|0)-q|0;s=p+(k-(r>>2)<<2)|0;pt(s|0,q|0,r|0)|0;k=c[f>>2]|0;c[f>>2]=s;c[h>>2]=o;s=c[l>>2]|0;c[l>>2]=c[j>>2];c[j>>2]=s;if((k|0)!=0)if((m|0)==(k|0)){a[b+136>>0]=0;break}else{Us(k);break}}else do{Iif((m|0)==0)j=0;else{c[m>>2]=0;j=c[h>>2]|0}m=j+4|0;c[h>>2]=m;n=n+ -1|0}while((n|0)!=0);while(0);l=c[f>>2]|0}while(0);h=c[l+(e<<2)>>2]|0;Eif((h|0)==0){s=l;s=s+(e<<2)|0;c[s>>2]=d;i=g;return}r=h+4|0;s=c[r>>2]|0;c[r>>2]=s+ -1;if((s|0)==0)qd[c[(c[h>>2]|0)+8>>2]&255](h);s=c[f>>2]|0;s=s+(e<<2)|0;c[s>>2]=d;i=g;return}function Rp(a){a=a|0;var b=0;b=i;Sp(a);Us(a);i=b;return}function Sp(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;c[b>>2]=16656;f=b+8|0;e=b+12|0;g=c[e>>2]|0;j=c[f>>2]|0;if((g|0)!=(j|0)){h=0;do{k=c[j+(h<<2)>>2]|0;if((k|0)!=0){g=k+4|0;j=c[g>>2]|0;c[g>>2]=j+ -1;if((j|0)==0)qd[c[(c[k>>2]|0)+8>>2]&255](k);g=c[e>>2]|0;j=c[f>>2]|0}h=h+1|0}while(h>>>0<g-j>>2>>>0)}if((a[b+144>>0]&1)==0){Lr(f);i=d;return}Us(c[b+152>>2]|0);Lr(f);i=d;return}function Tp(b){b=b|0;var d=0,e=0,f=0,g=0;d=i;if((a[16696]|0)!=0){g=c[4172]|0;c[b>>2]=g;g=g+4|0;f=c[g>>2]|0;c[g>>2]=f+1;i=d;return}Iif((Ha(16696)|0)==0){g=c[4172]|0;c[b>>2]=g;g=g+4|0;f=c[g>>2]|0;c[g>>2]=f+1;i=d;return}Eif((a[16680]|0)==0?(Ha(16680)|0)!=0:0){c[5257]=0;c[5256]=16656;a[21160]=1;c[5259]=21048;c[5258]=21048;c[5260]=21160;e=21048;g=28;do{c[e>>2]=0;f=c[5259]|0;e=f+4|0;c[5259]=e;g=g+ -1|0}while((g|0)!=0);a[21168]=2;a[21169]=67;a[21170]=0;g=c[5258]|0;Eif((e|0)!=(g|0))c[5259]=f+(0-((f+(0-g)|0)>>>2)<<2);c[5373]=0;c[5372]=15104;Qp(21024,21488,Up(15128)|0);c[5371]=0;c[5370]=15144;Qp(21024,21480,Up(15168)|0);c[5367]=0;c[5366]=16736;c[5368]=0;a[21476]=0;c[5368]=c[(Vb()|0)>>2];Qp(21024,21464,Up(16720)|0);c[5365]=0;c[5364]=17656;Qp(21024,21456,Up(16712)|0);c[5363]=0;c[5362]=17872;Qp(21024,21448,Up(16784)|0);c[5359]=0;c[5358]=16808;c[5360]=Em()|0;Qp(21024,21432,Up(16792)|0);c[5357]=0;c[5356]=18096;Qp(21024,21424,Up(16848)|0);c[5355]=0;c[5354]=18216;Qp(21024,21416,Up(16856)|0);c[5349]=0;c[5348]=16888;a[21400]=46;a[21401]=44;c[5351]=0;c[5352]=0;c[5353]=0;Qp(21024,21392,Up(16864)|0);c[5341]=0;c[5340]=16928;c[5342]=46;c[5343]=44;c[5344]=0;c[5345]=0;c[5346]=0;Qp(21024,21360,Up(16872)|0);c[5339]=0;c[5338]=15184;Qp(21024,21352,Up(15240)|0);c[5337]=0;c[5336]=15304;Qp(21024,21344,Up(15360)|0);c[5335]=0;c[5334]=15376;Qp(21024,21336,Up(15424)|0);c[5333]=0;c[5332]=15472;Qp(21024,21328,Up(15520)|0);c[5331]=0;c[5330]=16064;Qp(21024,21320,Up(16112)|0);c[5329]=0;c[5328]=16128;Qp(21024,21312,Up(16176)|0);c[5327]=0;c[5326]=16192;Qp(21024,21304,Up(16240)|0);c[5325]=0;c[5324]=16256;Qp(21024,21296,Up(16304)|0);c[5323]=0;c[5322]=16320;Qp(21024,21288,Up(16344)|0);c[5321]=0;c[5320]=16400;Qp(21024,21280,Up(16424)|0);c[5319]=0;c[5318]=16456;Qp(21024,21272,Up(16480)|0);c[5317]=0;c[5316]=16504;Qp(21024,21264,Up(16528)|0);c[5313]=0;c[5312]=15552;c[5314]=15600;Qp(21024,21248,Up(15632)|0);c[5309]=0;c[5308]=15704;c[5310]=15752;Qp(21024,21232,Up(15784)|0);c[5305]=0;c[5304]=17592;c[5306]=Em()|0;c[5304]=16e3;Qp(21024,21216,Up(16016)|0);c[5301]=0;c[5300]=17592;c[5302]=Em()|0;c[5300]=16032;Qp(21024,21200,Up(16048)|0);c[5299]=0;c[5298]=16544;Qp(21024,21192,Up(16568)|0);c[5297]=0;c[5296]=16584;Qp(21024,21184,Up(16608)|0);c[4168]=21024;ad(16680)}g=c[4168]|0;c[4172]=g;g=g+4|0;c[g>>2]=(c[g>>2]|0)+1;ad(16696);g=c[4172]|0;c[b>>2]=g;g=g+4|0;f=c[g>>2]|0;c[g>>2]=f+1;i=d;return}function Up(a){a=a|0;var b=0;b=i;do if(!((c[a>>2]|0)==-1)){Lc(13880)|0;Iif((c[a>>2]|0)==1)do Bc(13904,13880)|0;while((c[a>>2]|0)==1);Eif((c[a>>2]|0)==0){c[a>>2]=1;Bb(13880)|0;Yp(a);Lc(13880)|0;c[a>>2]=-1;Bb(13880)|0;nc(13904)|0;break}else{Bb(13880)|0;break}}while(0);i=b;return(c[a+4>>2]|0)+ -1|0}function Vp(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;e=i;b=Up(b)|0;f=c[a+8>>2]|0;Eif((c[a+12>>2]|0)-f>>2>>>0>b>>>0?(d=c[f+(b<<2)>>2]|0,(d|0)!=0):0){i=e;return d|0}f=_b(4)|0;c[f>>2]=25312;ed(f|0,25384,124);return 0}function Wp(a){a=a|0;var b=0;b=i;Us(a);i=b;return}function Xp(a){a=a|0;var b=0;b=i;if((a|0)==0){i=b;return}qd[c[(c[a>>2]|0)+4>>2]&255](a);i=b;return}function Yp(a){a=a|0;var b=0;b=c[4176]|0;c[4176]=b+1;c[a+4>>2]=b+1;return}function Zp(a){a=a|0;var b=0;b=i;Us(a);i=b;return}function _p(a,d,e){a=a|0;d=d|0;e=e|0;a=i;if(!(e>>>0<128)){d=0;i=a;return d|0}d=(b[(c[(Vb()|0)>>2]|0)+(e<<1)>>1]&d)<<16>>16!=0;i=a;return d|0}function $p(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;a=i;if((d|0)==(e|0)){j=d;i=a;return j|0}g=((e+ -4+(0-d)|0)>>>2)+1|0;h=d;while(1){j=c[h>>2]|0;if(j>>>0<128)j=b[(c[(Vb()|0)>>2]|0)+(j<<1)>>1]|0;else j=0;b[f>>1]=j;h=h+4|0;if((h|0)==(e|0))break;else f=f+2|0}j=d+(g<<2)|0;i=a;return j|0}function aq(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0;a=i;a:do if((e|0)==(f|0))f=e;else do{g=c[e>>2]|0;if(g>>>0<128?!((b[(c[(Vb()|0)>>2]|0)+(g<<1)>>1]&d)<<16>>16==0):0){f=e;break a}e=e+4|0}while((e|0)!=(f|0));while(0);i=a;return f|0}function bq(a,d,e,f){a=a|0;d=d|0;e=e|0;f=f|0;var g=0;a=i;a:do if((e|0)==(f|0))f=e;else do{g=c[e>>2]|0;if(!(g>>>0<128)){f=e;break a}if((b[(c[(Vb()|0)>>2]|0)+(g<<1)>>1]&d)<<16>>16==0){f=e;break a}e=e+4|0}while((e|0)!=(f|0));while(0);i=a;return f|0}function cq(a,b){a=a|0;b=b|0;a=i;if(!(b>>>0<128)){i=a;return b|0}b=c[(c[(Cb()|0)>>2]|0)+(b<<2)>>2]|0;i=a;return b|0}function dq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;a=i;if((b|0)==(d|0)){g=b;i=a;return g|0}e=((d+ -4+(0-b)|0)>>>2)+1|0;f=b;do{g=c[f>>2]|0;if(g>>>0<128)g=c[(c[(Cb()|0)>>2]|0)+(g<<2)>>2]|0;c[f>>2]=g;f=f+4|0}while((f|0)!=(d|0));g=b+(e<<2)|0;i=a;return g|0}function eq(a,b){a=a|0;b=b|0;a=i;if(!(b>>>0<128)){i=a;return b|0}b=c[(c[(rb()|0)>>2]|0)+(b<<2)>>2]|0;i=a;return b|0}function fq(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;a=i;if((b|0)==(d|0)){g=b;i=a;return g|0}e=((d+ -4+(0-b)|0)>>>2)+1|0;f=b;do{g=c[f>>2]|0;if(g>>>0<128)g=c[(c[(rb()|0)>>2]|0)+(g<<2)>>2]|0;c[f>>2]=g;f=f+4|0}while((f|0)!=(d|0));g=b+(e<<2)|0;i=a;return g|0}function gq(a,b){a=a|0;b=b|0;return b<<24>>24|0}function hq(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;b=i;if((d|0)==(e|0)){f=d;i=b;return f|0}while(1){c[f>>2]=a[d>>0];d=d+1|0;if((d|0)==(e|0))break;else f=f+4|0}i=b;return e|0}function iq(a,b,c){a=a|0;b=b|0;c=c|0;return(b>>>0<128?b&255:c)|0}function jq(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0;b=i;if((d|0)==(e|0)){j=d;i=b;return j|0}h=((e+ -4+(0-d)|0)>>>2)+1|0;j=d;while(1){k=c[j>>2]|0;a[g>>0]=k>>>0<128?k&255:f;j=j+4|0;if((j|0)==(e|0))break;else g=g+1|0}k=d+(h<<2)|0;i=b;return k|0}function kq(b){b=b|0;var d=0,e=0;d=i;c[b>>2]=16736;e=c[b+8>>2]|0;if((e|0)!=0?(a[b+12>>0]|0)!=0:0)Us(e);Us(b);i=d;return}function lq(b){b=b|0;var d=0,e=0;d=i;c[b>>2]=16736;e=c[b+8>>2]|0;if((e|0)==0){i=d;return}if((a[b+12>>0]|0)==0){i=d;return}Us(e);i=d;return}function mq(a,b){a=a|0;b=b|0;a=i;if(!(b<<24>>24>-1)){i=a;return b|0}b=c[(c[(Cb()|0)>>2]|0)+((b&255)<<2)>>2]&255;i=a;return b|0}function nq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;b=i;if((d|0)==(e|0)){f=d;i=b;return f|0}do{f=a[d>>0]|0;if(f<<24>>24>-1)f=c[(c[(Cb()|0)>>2]|0)+(f<<24>>24<<2)>>2]&255;a[d>>0]=f;d=d+1|0}while((d|0)!=(e|0));i=b;return e|0}function oq(a,b){a=a|0;b=b|0;a=i;if(!(b<<24>>24>-1)){i=a;return b|0}b=c[(c[(rb()|0)>>2]|0)+(b<<24>>24<<2)>>2]&255;i=a;return b|0}function pq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0;b=i;if((d|0)==(e|0)){f=d;i=b;return f|0}do{f=a[d>>0]|0;if(f<<24>>24>-1)f=c[(c[(rb()|0)>>2]|0)+(f<<24>>24<<2)>>2]&255;a[d>>0]=f;d=d+1|0}while((d|0)!=(e|0));i=b;return e|0}function qq(a,b){a=a|0;b=b|0;return b|0}function rq(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;b=i;if((c|0)==(d|0)){e=c;i=b;return e|0}while(1){a[e>>0]=a[c>>0]|0;c=c+1|0;if((c|0)==(d|0))break;else e=e+1|0}i=b;return d|0}function sq(a,b,c){a=a|0;b=b|0;c=c|0;return(b<<24>>24>-1?b:c)|0}function tq(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0;b=i;if((c|0)==(d|0)){f=c;i=b;return f|0}while(1){g=a[c>>0]|0;a[f>>0]=g<<24>>24>-1?g:e;c=c+1|0;if((c|0)==(d|0))break;else f=f+1|0}i=b;return d|0}function uq(a){a=a|0;var b=0;b=i;Us(a);i=b;return}function vq(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;c[f>>2]=d;c[i>>2]=g;return 3}function wq(a,b,d,e,f,g,h,i){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;c[f>>2]=d;c[i>>2]=g;return 3}function xq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function yq(a){a=a|0;return 1}function zq(a){a=a|0;return 1}function Aq(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;b=d-c|0;return(b>>>0<e>>>0?b:e)|0}function Bq(a){a=a|0;return 1}function Cq(a){a=a|0;var b=0,d=0,e=0;b=i;c[a>>2]=16808;d=a+8|0;e=c[d>>2]|0;if((e|0)==(Em()|0)){Us(a);i=b;return}vb(c[d>>2]|0);Us(a);i=b;return}function Dq(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;d=i;i=i+272|0;o=d+264|0;n=d+8|0;m=d;a:do if((e|0)!=(f|0)){q=e;while(1){if((c[q>>2]|0)==0)break;q=q+4|0;if((q|0)==(f|0)){q=f;break}}c[k>>2]=h;c[g>>2]=e;if((h|0)!=(j|0)){p=j;b=b+8|0;while(1){w=q-e>>2;r=bc(c[b>>2]|0)|0;y=c[g>>2]|0;s=(h|0)!=0;u=s?p-h|0:256;v=s?h:n;b:do if((y|0)==0|(u|0)==0)t=0;else{t=0;do{x=w>>>0>=u>>>0;if(!(x|w>>>0>32))break b;x=x?u:w;w=w-x|0;c:do if((v|0)==0){A=c[y>>2]|0;if((A|0)==0)x=0;else{x=0;z=y;while(1){if(A>>>0>127){A=at(o,A)|0;if((A|0)==-1){t=-1;u=0;break b}}else A=1;x=A+x|0;z=z+4|0;A=c[z>>2]|0;if((A|0)==0){l=32;break}}}}else{d:do if(x>>>0>3){z=x;A=v;while(1){B=c[y>>2]|0;if((B+ -1|0)>>>0>126){if((B|0)==0)break;B=at(A,B)|0;if((B|0)==-1){t=-1;u=0;break b}z=z-B|0;A=A+B|0}else{a[A>>0]=B;z=z+ -1|0;A=A+1|0}y=y+4|0;if(!(z>>>0>3))break d}a[A>>0]=0;x=x-z|0;y=0;l=32;break c}else{z=x;A=v}while(0);if((z|0)!=0){while(1){B=c[y>>2]|0;if((B+ -1|0)>>>0>126){if((B|0)==0){l=25;break}B=at(o,B)|0;if((B|0)==-1){t=-1;u=0;break b}if(B>>>0>z>>>0){l=28;break}at(A,c[y>>2]|0)|0;z=z-B|0;A=A+B|0}else{a[A>>0]=B;z=z+ -1|0;A=A+1|0}y=y+4|0;if((z|0)==0){l=32;break c}}if((l|0)==25){a[A>>0]=0;x=x-z|0;y=0;l=32;break}else if((l|0)==28){x=x-z|0;l=32;break}}else l=32}while(0);if((l|0)==32){l=0;if((x|0)==-1){t=-1;u=0;break b}}if((v|0)==(n|0))v=n;else{u=u-x|0;v=v+x|0}t=x+t|0}while(!((y|0)==0|(u|0)==0))}while(0);e:do if((y|0)!=0?!((u|0)==0|(w|0)==0):0){while(1){x=at(v,c[y>>2]|0)|0;if((x+1|0)>>>0<2)break;y=y+4|0;w=w+ -1|0;t=t+1|0;if((u|0)==(x|0)|(w|0)==0)break e;else{u=u-x|0;v=v+x|0}}B=(x|0)==0;t=B?t:-1;y=B?0:y}while(0);if(s)c[g>>2]=y;if((r|0)!=0)bc(r|0)|0;if((t|0)==-1){l=46;break}else if((t|0)==0){g=1;l=67;break}h=(c[k>>2]|0)+t|0;c[k>>2]=h;if((h|0)==(j|0)){l=65;break}if((q|0)==(f|0)){e=c[g>>2]|0;q=f}else{q=bc(c[b>>2]|0)|0;a[m>>0]=0;if((q|0)!=0)bc(q|0)|0;e=c[k>>2]|0;if((e|0)==(j|0)){g=1;l=67;break}else{q=0;h=0;r=m}while(1){c[k>>2]=e+1;a[e>>0]=q;if((h|0)==0)break;B=r+1|0;e=c[k>>2]|0;q=a[B>>0]|0;h=h+ -1|0;r=B}e=(c[g>>2]|0)+4|0;c[g>>2]=e;f:do if((e|0)==(f|0))q=f;else{q=e;while(1){if((c[q>>2]|0)==0)break f;q=q+4|0;if((q|0)==(f|0)){q=f;break}}}while(0);h=c[k>>2]|0}if((e|0)==(f|0)|(h|0)==(j|0))break a}if((l|0)==46){c[k>>2]=h;g:do if((e|0)!=(c[g>>2]|0))do{f=c[e>>2]|0;l=bc(c[b>>2]|0)|0;f=at(h,f)|0;if((l|0)!=0)bc(l|0)|0;if((f|0)==-1)break g;h=(c[k>>2]|0)+f|0;c[k>>2]=h;e=e+4|0}while((e|0)!=(c[g>>2]|0));while(0);c[g>>2]=e;B=2;i=d;return B|0}else if((l|0)==65){e=c[g>>2]|0;break}else if((l|0)==67){i=d;return g|0}}}else{c[k>>2]=h;c[g>>2]=e}while(0);B=(e|0)!=(f|0)&1;i=d;return B|0}function Eq(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;l=i;i=i+1040|0;n=l+16|0;o=l+8|0;m=l;a:do if((e|0)!=(f|0)){r=e;while(1){if((a[r>>0]|0)==0)break;r=r+1|0;if((r|0)==(f|0)){r=f;break}}c[k>>2]=h;c[g>>2]=e;if((h|0)!=(j|0)){p=j;b=b+8|0;while(1){t=d;y=c[t+4>>2]|0;q=m;c[q>>2]=c[t>>2];c[q+4>>2]=y;q=r;y=q-e|0;t=bc(c[b>>2]|0)|0;u=c[g>>2]|0;c[o>>2]=u;s=(h|0)!=0;x=s?p-h>>2:256;w=s?h:n;b:do if((u|0)==0|(x|0)==0)v=0;else{v=0;while(1){A=y>>>2;z=A>>>0>=x>>>0;if(!(z|y>>>0>131))break b;u=z?x:A;y=y-u|0;u=Vr(w,o,u,d)|0;if((u|0)==-1)break;if((w|0)==(n|0))w=n;else{x=x-u|0;w=w+(u<<2)|0}v=u+v|0;u=c[o>>2]|0;if((u|0)==0|(x|0)==0)break b}u=c[o>>2]|0;v=-1;x=0}while(0);c:do if((u|0)!=0){if(!((x|0)==0|(y|0)==0)){while(1){z=Ur(w,u,y,d)|0;if((z+2|0)>>>0<3)break;u=u+z|0;c[o>>2]=u;x=x+ -1|0;v=v+1|0;if((x|0)==0|(y|0)==(z|0))break c;else{y=y-z|0;w=w+4|0}}if((z|0)==-1){v=-1;break}else if((z|0)==0){c[o>>2]=0;u=0;break}else{c[d>>2]=0;break}}}else u=0;while(0);if(s)c[g>>2]=u;if((t|0)!=0)bc(t|0)|0;if((v|0)==0){f=2;d=48;break}else if((v|0)==-1){d=26;break}h=(c[k>>2]|0)+(v<<2)|0;c[k>>2]=h;if((h|0)==(j|0)){d=46;break}e=c[g>>2]|0;if((r|0)==(f|0))r=f;else{q=bc(c[b>>2]|0)|0;r=Ur(h,e,1,d)|0;if((q|0)!=0)bc(q|0)|0;if((r|0)!=0){f=2;d=48;break}c[k>>2]=(c[k>>2]|0)+4;e=(c[g>>2]|0)+1|0;c[g>>2]=e;d:do if((e|0)==(f|0))r=f;else{r=e;while(1){if((a[r>>0]|0)==0)break d;r=r+1|0;if((r|0)==(f|0)){r=f;break}}}while(0);h=c[k>>2]|0}if((e|0)==(f|0)|(h|0)==(j|0))break a}if((d|0)==26){c[k>>2]=h;e:do if((e|0)!=(c[g>>2]|0)){while(1){d=bc(c[b>>2]|0)|0;n=Ur(h,e,q-e|0,m)|0;if((d|0)!=0)bc(d|0)|0;if((n|0)==0)e=e+1|0;else if((n|0)==-1){d=31;break}else if((n|0)==-2){d=32;break}else e=e+n|0;h=(c[k>>2]|0)+4|0;c[k>>2]=h;if((e|0)==(c[g>>2]|0))break e}if((d|0)==31){c[g>>2]=e;A=2;i=l;return A|0}else if((d|0)==32){c[g>>2]=e;A=1;i=l;return A|0}}while(0);c[g>>2]=e;A=(e|0)!=(f|0)&1;i=l;return A|0}else if((d|0)==46){e=c[g>>2]|0;break}else if((d|0)==48){i=l;return f|0}}}else{c[k>>2]=h;c[g>>2]=e}while(0);A=(e|0)!=(f|0)&1;i=l;return A|0}function Fq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;b=i;c[f>>2]=d;a=bc(c[a+8>>2]|0)|0;if((a|0)==0){i=b;return 0}bc(a|0)|0;i=b;return 0}function Gq(a){a=a|0;var b=0,d=0;b=i;a=a+8|0;d=bc(c[a>>2]|0)|0;Iif((d|0)!=0)bc(d|0)|0;a=c[a>>2]|0;Eif((a|0)!=0){a=bc(a|0)|0;Iif((a|0)==0)a=0;else{bc(a|0)|0;a=0}}else a=1;i=b;return a|0}function Hq(a){a=a|0;return 0}function Iq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;if((f|0)==0|(d|0)==(e|0)){m=0;i=g;return m|0}h=e;a=a+8|0;b=(b|0)!=0?b:24544;k=0;j=0;while(1){m=bc(c[a>>2]|0)|0;l=Ur(0,d,h-d|0,b)|0;if((m|0)!=0)bc(m|0)|0;if((l|0)==0){m=1;d=d+1|0}else if((l|0)==-2|(l|0)==-1){f=9;break}else{m=l;d=d+l|0}k=m+k|0;j=j+1|0;if(j>>>0>=f>>>0|(d|0)==(e|0)){f=9;break}}if((f|0)==9){i=g;return k|0}return 0}function Jq(a){a=a|0;var b=0;b=i;a=c[a+8>>2]|0;if((a|0)!=0){a=bc(a|0)|0;if((a|0)==0)a=4;else{bc(a|0)|0;a=4}}else a=1;i=b;return a|0}function Kq(a){a=a|0;var b=0;b=i;Us(a);i=b;return}function Lq(d,f,g,h,j,k,l,m){d=d|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0;f=i;d=h;a:do if(g>>>0<h>>>0){o=g;n=k;while(1){q=b[o>>1]|0;p=q&65535;do if((q&65535)<128){if((l-n|0)<1){h=1;break a}a[n>>0]=q;n=n+1|0}else{if((q&65535)<2048){if((l-n|0)<2){h=1;break a}a[n>>0]=p>>>6|192;a[n+1>>0]=p&63|128;n=n+2|0;break}if((q&65535)<55296){if((l-n|0)<3){h=1;break a}a[n>>0]=p>>>12|224;a[n+1>>0]=p>>>6&63|128;a[n+2>>0]=p&63|128;n=n+3|0;break}if(!((q&65535)<56320)){if((q&65535)<57344){h=2;break a}if((l-n|0)<3){h=1;break a}a[n>>0]=p>>>12|224;a[n+1>>0]=p>>>6&63|128;a[n+2>>0]=p&63|128;n=n+3|0;break}if((d-o|0)<4){h=1;break a}s=o+2|0;q=e[s>>1]|0;if((q&64512|0)!=56320){h=2;break a}if((l-n|0)<4){h=1;break a}r=p&960;if(((r<<10)+65536|0)>>>0>1114111){h=2;break a}o=(r>>>6)+1|0;a[n>>0]=o>>>2|240;a[n+1>>0]=p>>>2&15|o<<4&48|128;a[n+2>>0]=p<<4&48|q>>>6&15|128;a[n+3>>0]=q&63|128;o=s;n=n+4|0}while(0);o=o+2|0;if(!(o>>>0<h>>>0)){h=0;break}}}else{o=g;n=k;h=0}while(0);c[j>>2]=g+(o-g>>1<<1);c[m>>2]=k+(n-k);i=f;return h|0}function Mq(e,f,g,h,j,k,l,m){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;f=i;a:do if(g>>>0<h>>>0){o=h;p=l;q=g;e=k;while(1){if(!(e>>>0<l>>>0)){n=31;break a}s=a[q>>0]|0;r=s&255;do if(s<<24>>24>-1){b[e>>1]=s&255;q=q+1|0}else{if((s&255)<194){l=q;h=2;break a}if((s&255)<224){if((o-q|0)<2){l=q;h=1;break a}s=d[q+1>>0]|0;if((s&192|0)!=128){l=q;h=2;break a}b[e>>1]=s&63|r<<6&1984;q=q+2|0;break}if((s&255)<240){if((o-q|0)<3){l=q;h=1;break a}s=a[q+1>>0]|0;t=a[q+2>>0]|0;if((r|0)==224){if(!((s&-32)<<24>>24==-96)){l=q;h=2;break a}}else if((r|0)==237){if(!((s&-32)<<24>>24==-128)){l=q;h=2;break a}}else if(!((s&-64)<<24>>24==-128)){l=q;h=2;break a}t=t&255;if((t&192|0)!=128){l=q;h=2;break a}b[e>>1]=(s&255)<<6&4032|r<<12|t&63;q=q+3|0;break}if(!((s&255)<245)){l=q;h=2;break a}if((o-q|0)<4){l=q;h=1;break a}s=a[q+1>>0]|0;t=a[q+2>>0]|0;u=a[q+3>>0]|0;if((r|0)==244){if(!((s&-16)<<24>>24==-128)){l=q;h=2;break a}}else if((r|0)==240){if(!((s+112<<24>>24&255)<48)){l=q;h=2;break a}}else if(!((s&-64)<<24>>24==-128)){l=q;h=2;break a}t=t&255;if((t&192|0)!=128){l=q;h=2;break a}u=u&255;if((u&192|0)!=128){l=q;h=2;break a}if((p-e|0)<4){l=q;h=1;break a}r=r&7;s=s&255;if((s<<12&196608|r<<18)>>>0>1114111){l=q;h=2;break a}b[e>>1]=s<<2&60|t>>>4&3|((s>>>4&3|r<<2)<<6)+16320|55296;e=e+2|0;b[e>>1]=u&63|t<<6&960|56320;q=q+4|0}while(0);e=e+2|0;if(!(q>>>0<h>>>0)){n=31;break}}}else{q=g;e=k;n=31}while(0);if((n|0)==31){l=q;h=q>>>0<h>>>0&1}c[j>>2]=g+(l-g);c[m>>2]=k+(e-k>>1<<1);i=f;return h|0}function Nq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function Oq(a){a=a|0;return 0}function Pq(a){a=a|0;return 0}function Qq(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;c=i;a:do if(d>>>0<e>>>0&(f|0)!=0){b=e;h=d;g=0;b:while(1){k=a[h>>0]|0;j=k&255;do if(k<<24>>24>-1)h=h+1|0;else{if((k&255)<194)break a;if((k&255)<224){if((b-h|0)<2)break a;if(!((a[h+1>>0]&-64)<<24>>24==-128))break a;h=h+2|0;break}if((k&255)<240){k=h;if((b-k|0)<3)break a;m=a[h+1>>0]|0;l=a[h+2>>0]|0;if((j|0)==224){if(!((m&-32)<<24>>24==-96)){e=14;break b}}else if((j|0)==237){if(!((m&-32)<<24>>24==-128)){e=16;break b}}else if(!((m&-64)<<24>>24==-128)){e=18;break b}if(!((l&-64)<<24>>24==-128))break a;h=h+3|0;break}if(!((k&255)<245))break a;k=h;if((b-k|0)<4)break a;if((f-g|0)>>>0<2)break a;n=a[h+1>>0]|0;l=a[h+2>>0]|0;m=a[h+3>>0]|0;if((j|0)==244){if(!((n&-16)<<24>>24==-128)){e=28;break b}}else if((j|0)==240){if(!((n+112<<24>>24&255)<48)){e=26;break b}}else if(!((n&-64)<<24>>24==-128)){e=30;break b}if(!((l&-64)<<24>>24==-128))break a;if(!((m&-64)<<24>>24==-128))break a;if(((n&255)<<12&196608|j<<18&1835008)>>>0>1114111)break a;h=h+4|0;g=g+1|0}while(0);g=g+1|0;if(!(h>>>0<e>>>0&g>>>0<f>>>0))break a}if((e|0)==14){n=k-d|0;i=c;return n|0}else if((e|0)==16){n=k-d|0;i=c;return n|0}else if((e|0)==18){n=k-d|0;i=c;return n|0}else if((e|0)==26){n=k-d|0;i=c;return n|0}else if((e|0)==28){n=k-d|0;i=c;return n|0}else if((e|0)==30){n=k-d|0;i=c;return n|0}}else h=d;while(0);n=h-d|0;i=c;return n|0}function Rq(a){a=a|0;return 4}function Sq(a){a=a|0;var b=0;b=i;Us(a);i=b;return}function Tq(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0;d=i;a:do if(e>>>0<f>>>0){b=e;l=h;while(1){m=c[b>>2]|0;if((m&-2048|0)==55296|m>>>0>1114111){f=2;break a}do if(!(m>>>0<128)){if(m>>>0<2048){if((j-l|0)<2){f=1;break a}a[l>>0]=m>>>6|192;a[l+1>>0]=m&63|128;l=l+2|0;break}n=j-l|0;if(m>>>0<65536){if((n|0)<3){f=1;break a}a[l>>0]=m>>>12|224;a[l+1>>0]=m>>>6&63|128;a[l+2>>0]=m&63|128;l=l+3|0;break}else{if((n|0)<4){f=1;break a}a[l>>0]=m>>>18|240;a[l+1>>0]=m>>>12&63|128;a[l+2>>0]=m>>>6&63|128;a[l+3>>0]=m&63|128;l=l+4|0;break}}else{if((j-l|0)<1){f=1;break a}a[l>>0]=m;l=l+1|0}while(0);b=b+4|0;if(!(b>>>0<f>>>0)){f=0;break}}}else{b=e;l=h;f=0}while(0);c[g>>2]=e+(b-e>>2<<2);c[k>>2]=h+(l-h);i=d;return f|0}function Uq(b,e,f,g,h,j,k,l){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0;e=i;a:do if(f>>>0<g>>>0){n=g;o=f;b=j;while(1){if(!(b>>>0<k>>>0)){m=30;break a}q=a[o>>0]|0;p=q&255;do if(q<<24>>24>-1){c[b>>2]=p;o=o+1|0}else{if((q&255)<194){k=o;g=2;break a}if((q&255)<224){if((n-o|0)<2){k=o;g=1;break a}q=d[o+1>>0]|0;if((q&192|0)!=128){k=o;g=2;break a}c[b>>2]=q&63|p<<6&1984;o=o+2|0;break}if((q&255)<240){if((n-o|0)<3){k=o;g=1;break a}q=a[o+1>>0]|0;r=a[o+2>>0]|0;if((p|0)==224){if(!((q&-32)<<24>>24==-96)){k=o;g=2;break a}}else if((p|0)==237){if(!((q&-32)<<24>>24==-128)){k=o;g=2;break a}}else if(!((q&-64)<<24>>24==-128)){k=o;g=2;break a}r=r&255;if((r&192|0)!=128){k=o;g=2;break a}c[b>>2]=(q&255)<<6&4032|p<<12&61440|r&63;o=o+3|0;break}if(!((q&255)<245)){k=o;g=2;break a}if((n-o|0)<4){k=o;g=1;break a}q=a[o+1>>0]|0;s=a[o+2>>0]|0;r=a[o+3>>0]|0;if((p|0)==240){if(!((q+112<<24>>24&255)<48)){k=o;g=2;break a}}else if((p|0)==244){if(!((q&-16)<<24>>24==-128)){k=o;g=2;break a}}else if(!((q&-64)<<24>>24==-128)){k=o;g=2;break a}s=s&255;if((s&192|0)!=128){k=o;g=2;break a}r=r&255;if((r&192|0)!=128){k=o;g=2;break a}p=(q&255)<<12&258048|p<<18&1835008|s<<6&4032|r&63;if(p>>>0>1114111){k=o;g=2;break a}c[b>>2]=p;o=o+4|0}while(0);b=b+4|0;if(!(o>>>0<g>>>0)){m=30;break}}}else{o=f;b=j;m=30}while(0);if((m|0)==30){k=o;g=o>>>0<g>>>0&1}c[h>>2]=f+(k-f);c[l>>2]=j+(b-j>>2<<2);i=e;return g|0}function Vq(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[f>>2]=d;return 3}function Wq(a){a=a|0;return 0}function Xq(a){a=a|0;return 0}function Yq(b,c,d,e,f){b=b|0;c=c|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;c=i;a:do if(d>>>0<e>>>0&(f|0)!=0){g=e;j=d;b=1;b:while(1){k=a[j>>0]|0;h=k&255;do if(k<<24>>24>-1)j=j+1|0;else{if((k&255)<194)break a;if((k&255)<224){if((g-j|0)<2)break a;if(!((a[j+1>>0]&-64)<<24>>24==-128))break a;j=j+2|0;break}if((k&255)<240){k=j;if((g-k|0)<3)break a;m=a[j+1>>0]|0;l=a[j+2>>0]|0;if((h|0)==224){if(!((m&-32)<<24>>24==-96)){e=14;break b}}else if((h|0)==237){if(!((m&-32)<<24>>24==-128)){e=16;break b}}else if(!((m&-64)<<24>>24==-128)){e=18;break b}if(!((l&-64)<<24>>24==-128))break a;j=j+3|0;break}if(!((k&255)<245))break a;k=j;if((g-k|0)<4)break a;m=a[j+1>>0]|0;n=a[j+2>>0]|0;l=a[j+3>>0]|0;if((h|0)==244){if(!((m&-16)<<24>>24==-128)){e=27;break b}}else if((h|0)==240){if(!((m+112<<24>>24&255)<48)){e=25;break b}}else if(!((m&-64)<<24>>24==-128)){e=29;break b}if(!((n&-64)<<24>>24==-128))break a;if(!((l&-64)<<24>>24==-128))break a;if(((m&255)<<12&196608|h<<18&1835008)>>>0>1114111)break a;j=j+4|0}while(0);if(!(j>>>0<e>>>0&b>>>0<f>>>0))break a;b=b+1|0}if((e|0)==14){n=k-d|0;i=c;return n|0}else if((e|0)==16){n=k-d|0;i=c;return n|0}else if((e|0)==18){n=k-d|0;i=c;return n|0}else if((e|0)==25){n=k-d|0;i=c;return n|0}else if((e|0)==27){n=k-d|0;i=c;return n|0}else if((e|0)==29){n=k-d|0;i=c;return n|0}}else j=d;while(0);n=j-d|0;i=c;return n|0}function Zq(a){a=a|0;return 4}function _q(a){a=a|0;var b=0;b=i;Us(a);i=b;return}function $q(a){a=a|0;var b=0;b=i;Us(a);i=b;return}function ar(b){b=b|0;var d=0;d=i;c[b>>2]=16888;if((a[b+12>>0]&1)==0){Us(b);i=d;return}Us(c[b+20>>2]|0);Us(b);i=d;return}function br(b){b=b|0;var d=0;d=i;c[b>>2]=16888;if((a[b+12>>0]&1)==0){i=d;return}Us(c[b+20>>2]|0);i=d;return}function cr(b){b=b|0;var d=0;d=i;c[b>>2]=16928;if((a[b+16>>0]&1)==0){Us(b);i=d;return}Us(c[b+24>>2]|0);Us(b);i=d;return}function dr(b){b=b|0;var d=0;d=i;c[b>>2]=16928;if((a[b+16>>0]&1)==0){i=d;return}Us(c[b+24>>2]|0);i=d;return}function er(b){b=b|0;return a[b+8>>0]|0}function fr(a){a=a|0;return c[a+8>>2]|0}function gr(b){b=b|0;return a[b+9>>0]|0}function hr(a){a=a|0;return c[a+12>>2]|0}function ir(a,b){a=a|0;b=b|0;var c=0;c=i;Ik(a,b+12|0);i=c;return}function jr(a,b){a=a|0;b=b|0;var c=0;c=i;Ik(a,b+16|0);i=c;return}function kr(b,c){b=b|0;c=c|0;a[b>>0]=8;c=b+1|0;a[c>>0]=116;a[c+1>>0]=114;a[c+2>>0]=117;a[c+3>>0]=101;a[b+5>>0]=0;return}function lr(a,b){a=a|0;b=b|0;var d=0;d=i;b=16960;while(1)if((c[b>>2]|0)==0)break;else b=b+4|0;Uk(a,16960,b-16960>>2);i=d;return}function mr(b,c){b=b|0;c=c|0;var d=0;c=i;a[b>>0]=10;d=b+1|0;a[d+0>>0]=a[16984]|0;a[d+1>>0]=a[16985]|0;a[d+2>>0]=a[16986]|0;a[d+3>>0]=a[16987]|0;a[d+4>>0]=a[16988]|0;a[b+6>>0]=0;i=c;return}function nr(a,b){a=a|0;b=b|0;var d=0;d=i;b=16992;while(1)if((c[b>>2]|0)==0)break;else b=b+4|0;Uk(a,16992,b-16992>>2);i=d;return}function or(b){b=b|0;var d=0;b=i;if((a[17024]|0)!=0){d=c[4254]|0;i=b;return d|0}if((Ha(17024)|0)==0){d=c[4254]|0;i=b;return d|0}if((a[24192]|0)==0?(Ha(24192)|0)!=0:0){st(24024,0,168)|0;eb(186,0,o|0)|0;ad(24192)}Nk(24024,24200);Nk(24036,24208);Nk(24048,24216);Nk(24060,24224);Nk(24072,24240);Nk(24084,24256);Nk(24096,24264);Nk(24108,24280);Nk(24120,24288);Nk(24132,24296);Nk(24144,24304);Nk(24156,24312);Nk(24168,24320);Nk(24180,24328);c[4254]=24024;ad(17024);d=c[4254]|0;i=b;return d|0}function pr(b){b=b|0;var d=0;b=i;if((a[17040]|0)!=0){d=c[4258]|0;i=b;return d|0}if((Ha(17040)|0)==0){d=c[4258]|0;i=b;return d|0}if((a[23656]|0)==0?(Ha(23656)|0)!=0:0){st(23488,0,168)|0;eb(187,0,o|0)|0;ad(23656)}Yk(23488,23664);Yk(23500,23696);Yk(23512,23728);Yk(23524,23760);Yk(23536,23800);Yk(23548,23840);Yk(23560,23872);Yk(23572,23912);Yk(23584,23928);Yk(23596,23944);Yk(23608,23960);Yk(23620,23976);Yk(23632,23992);Yk(23644,24008);c[4258]=23488;ad(17040);d=c[4258]|0;i=b;return d|0}function qr(b){b=b|0;var d=0;b=i;if((a[17056]|0)!=0){d=c[4262]|0;i=b;return d|0}if((Ha(17056)|0)==0){d=c[4262]|0;i=b;return d|0}if((a[23264]|0)==0?(Ha(23264)|0)!=0:0){st(22976,0,288)|0;eb(188,0,o|0)|0;ad(23264)}Nk(22976,23272);Nk(22988,23280);Nk(23e3,23296);Nk(23012,23304);Nk(23024,23312);Nk(23036,23320);Nk(23048,23328);Nk(23060,23336);Nk(23072,23344);Nk(23084,23360);Nk(23096,23368);Nk(23108,23384);Nk(23120,23400);Nk(23132,23408);Nk(23144,23416);Nk(23156,23424);Nk(23168,23312);Nk(23180,23432);Nk(23192,23440);Nk(23204,23448);Nk(23216,23456);Nk(23228,23464);Nk(23240,23472);Nk(23252,23480);c[4262]=22976;ad(17056);d=c[4262]|0;i=b;return d|0}function rr(b){b=b|0;var d=0;b=i;if((a[17072]|0)!=0){d=c[4266]|0;i=b;return d|0}if((Ha(17072)|0)==0){d=c[4266]|0;i=b;return d|0}if((a[22424]|0)==0?(Ha(22424)|0)!=0:0){st(22136,0,288)|0;eb(189,0,o|0)|0;ad(22424)}Yk(22136,22432);Yk(22148,22464);Yk(22160,22504);Yk(22172,22528);Yk(22184,22848);Yk(22196,22552);Yk(22208,22576);Yk(22220,22600);Yk(22232,22632);Yk(22244,22672);Yk(22256,22704);Yk(22268,22744);Yk(22280,22784);Yk(22292,22800);Yk(22304,22816);Yk(22316,22832);Yk(22328,22848);Yk(22340,22864);Yk(22352,22880);Yk(22364,22896);Yk(22376,22912);Yk(22388,22928);Yk(22400,22944);Yk(22412,22960);c[4266]=22136;ad(17072);d=c[4266]|0;i=b;return d|0}function sr(b){b=b|0;var d=0;b=i;if((a[17088]|0)!=0){d=c[4270]|0;i=b;return d|0}if((Ha(17088)|0)==0){d=c[4270]|0;i=b;return d|0}if((a[22112]|0)==0?(Ha(22112)|0)!=0:0){st(21824,0,288)|0;eb(190,0,o|0)|0;ad(22112)}Nk(21824,22120);Nk(21836,22128);c[4270]=21824;ad(17088);d=c[4270]|0;i=b;return d|0}function tr(b){b=b|0;var d=0;b=i;if((a[17104]|0)!=0){d=c[4274]|0;i=b;return d|0}if((Ha(17104)|0)==0){d=c[4274]|0;i=b;return d|0}if((a[21784]|0)==0?(Ha(21784)|0)!=0:0){st(21496,0,288)|0;eb(191,0,o|0)|0;ad(21784)}Yk(21496,21792);Yk(21508,21808);c[4274]=21496;ad(17104);d=c[4274]|0;i=b;return d|0}function ur(b){b=b|0;var c=0,d=0;b=i;if((a[17128]|0)!=0){i=b;return 17112}if((Ha(17128)|0)==0){i=b;return 17112}a[17112]=16;c=17113;d=c;a[d>>0]=37;a[d+1>>0]=109;a[d+2>>0]=47;a[d+3>>0]=37;c=c+4|0;a[c>>0]=100;a[c+1>>0]=47;a[c+2>>0]=37;a[c+3>>0]=121;a[17121]=0;eb(192,17112,o|0)|0;ad(17128);i=b;return 17112}function vr(b){b=b|0;var d=0;b=i;if((a[17152]|0)!=0){i=b;return 17136}if((Ha(17152)|0)==0){i=b;return 17136}else d=17160;while(1)if((c[d>>2]|0)==0)break;else d=d+4|0;Uk(17136,17160,d-17160>>2);eb(193,17136,o|0)|0;ad(17152);i=b;return 17136}function wr(b){b=b|0;var c=0,d=0;b=i;if((a[17216]|0)!=0){i=b;return 17200}if((Ha(17216)|0)==0){i=b;return 17200}a[17200]=16;c=17201;d=c;a[d>>0]=37;a[d+1>>0]=72;a[d+2>>0]=58;a[d+3>>0]=37;c=c+4|0;a[c>>0]=77;a[c+1>>0]=58;a[c+2>>0]=37;a[c+3>>0]=83;a[17209]=0;eb(192,17200,o|0)|0;ad(17216);i=b;return 17200}function xr(b){b=b|0;var d=0;b=i;if((a[17240]|0)!=0){i=b;return 17224}if((Ha(17240)|0)==0){i=b;return 17224}else d=17248;while(1)if((c[d>>2]|0)==0)break;else d=d+4|0;Uk(17224,17248,d-17248>>2);eb(193,17224,o|0)|0;ad(17240);i=b;return 17224}function yr(b){b=b|0;var d=0,e=0,f=0,g=0;b=i;if((a[17304]|0)!=0){i=b;return 17288}if((Ha(17304)|0)==0){i=b;return 17288}e=bs(32)|0;c[4324]=e;c[4322]=33;c[4323]=20;g=e+0|0;f=17312;d=g+20|0;do{a[g>>0]=a[f>>0]|0;g=g+1|0;f=f+1|0}while((g|0)<(d|0));a[e+20>>0]=0;eb(192,17288,o|0)|0;ad(17304);i=b;return 17288}function zr(b){b=b|0;var d=0;b=i;if((a[17352]|0)!=0){i=b;return 17336}if((Ha(17352)|0)==0){i=b;return 17336}else d=17360;while(1)if((c[d>>2]|0)==0)break;else d=d+4|0;Uk(17336,17360,d-17360>>2);eb(193,17336,o|0)|0;ad(17352);i=b;return 17336}function Ar(b){b=b|0;var d=0,e=0,f=0,g=0;b=i;if((a[17464]|0)!=0){i=b;return 17448}if((Ha(17464)|0)==0){i=b;return 17448}e=bs(16)|0;c[4364]=e;c[4362]=17;c[4363]=11;g=e+0|0;f=17472;d=g+11|0;do{a[g>>0]=a[f>>0]|0;g=g+1|0;f=f+1|0}while((g|0)<(d|0));a[e+11>>0]=0;eb(192,17448,o|0)|0;ad(17464);i=b;return 17448}function Br(b){b=b|0;var d=0;b=i;if((a[17504]|0)!=0){i=b;return 17488}if((Ha(17504)|0)==0){i=b;return 17488}else d=17512;while(1)if((c[d>>2]|0)==0)break;else d=d+4|0;Uk(17488,17512,d-17512>>2);eb(193,17488,o|0)|0;ad(17504);i=b;return 17488}function Cr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0.0;e=i;i=i+16|0;f=e;do if((a|0)!=(b|0)){g=$c()|0;h=c[g>>2]|0;c[g>>2]=0;Em()|0;j=+it(a,f);a=c[g>>2]|0;if((a|0)==0)c[g>>2]=h;if((c[f>>2]|0)!=(b|0)){c[d>>2]=4;j=0.0;break}if((a|0)==34)c[d>>2]=4}else{c[d>>2]=4;j=0.0}while(0);i=e;return+j}function Dr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0.0;e=i;i=i+16|0;f=e;do if((a|0)!=(b|0)){g=$c()|0;h=c[g>>2]|0;c[g>>2]=0;Em()|0;j=+it(a,f);a=c[g>>2]|0;if((a|0)==0)c[g>>2]=h;if((c[f>>2]|0)!=(b|0)){c[d>>2]=4;j=0.0;break}if((a|0)==34)c[d>>2]=4}else{c[d>>2]=4;j=0.0}while(0);i=e;return+j}function Er(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0.0;e=i;i=i+16|0;f=e;if((a|0)==(b|0)){c[d>>2]=4;j=0.0;i=e;return+j}g=$c()|0;h=c[g>>2]|0;c[g>>2]=0;Em()|0;j=+it(a,f);a=c[g>>2]|0;if((a|0)==0)c[g>>2]=h;if((c[f>>2]|0)!=(b|0)){c[d>>2]=4;j=0.0;i=e;return+j}if((a|0)==34)c[d>>2]=4;i=e;return+j}function Fr(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;g=i;i=i+16|0;h=g;do if((b|0)!=(d|0)){if((a[b>>0]|0)==45){c[e>>2]=4;e=0;f=0;break}j=$c()|0;k=c[j>>2]|0;c[j>>2]=0;Em()|0;f=Sr(b,h,f)|0;b=c[j>>2]|0;if((b|0)==0)c[j>>2]=k;if((c[h>>2]|0)!=(d|0)){c[e>>2]=4;e=0;f=0;break}if((b|0)==34){c[e>>2]=4;e=-1;f=-1}else e=H}else{c[e>>2]=4;e=0;f=0}while(0);H=e;i=g;return f|0}function Gr(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+16|0;h=g;do if((b|0)!=(d|0)){if((a[b>>0]|0)==45){c[e>>2]=4;l=0;break}j=$c()|0;k=c[j>>2]|0;c[j>>2]=0;Em()|0;l=Sr(b,h,f)|0;b=H;f=c[j>>2]|0;if((f|0)==0)c[j>>2]=k;if((c[h>>2]|0)!=(d|0)){c[e>>2]=4;l=0;break}if((f|0)==34|(b>>>0>0|(b|0)==0&l>>>0>4294967295)){c[e>>2]=4;l=-1;break}else break}else{c[e>>2]=4;l=0}while(0);i=g;return l|0}function Hr(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+16|0;h=g;do if((b|0)!=(d|0)){if((a[b>>0]|0)==45){c[e>>2]=4;l=0;break}j=$c()|0;k=c[j>>2]|0;c[j>>2]=0;Em()|0;l=Sr(b,h,f)|0;b=H;f=c[j>>2]|0;if((f|0)==0)c[j>>2]=k;if((c[h>>2]|0)!=(d|0)){c[e>>2]=4;l=0;break}if((f|0)==34|(b>>>0>0|(b|0)==0&l>>>0>4294967295)){c[e>>2]=4;l=-1;break}else break}else{c[e>>2]=4;l=0}while(0);i=g;return l|0}function Ir(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+16|0;h=g;do if((b|0)!=(d|0)){if((a[b>>0]|0)==45){c[e>>2]=4;e=0;break}j=$c()|0;k=c[j>>2]|0;c[j>>2]=0;Em()|0;l=Sr(b,h,f)|0;b=H;f=c[j>>2]|0;if((f|0)==0)c[j>>2]=k;if((c[h>>2]|0)!=(d|0)){c[e>>2]=4;e=0;break}if((f|0)==34|(b>>>0>0|(b|0)==0&l>>>0>65535)){c[e>>2]=4;e=-1;break}else{e=l&65535;break}}else{c[e>>2]=4;e=0}while(0);i=g;return e|0}function Jr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;j=i;i=i+16|0;g=j;if((a|0)==(b|0)){c[d>>2]=4;e=0;k=0;H=e;i=j;return k|0}h=$c()|0;f=c[h>>2]|0;c[h>>2]=0;Em()|0;e=Tr(a,g,e)|0;a=H;k=c[h>>2]|0;if((k|0)==0)c[h>>2]=f;if((c[g>>2]|0)!=(b|0)){c[d>>2]=4;e=0;k=0;H=e;i=j;return k|0}if((k|0)==34){c[d>>2]=4;k=(a|0)>0|(a|0)==0&e>>>0>0;H=k?2147483647:-2147483648;i=j;return(k?-1:0)|0}else{k=e;H=a;i=j;return k|0}return 0}function Kr(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+16|0;g=f;a:do if((a|0)==(b|0)){c[d>>2]=4;a=0}else{h=$c()|0;j=c[h>>2]|0;c[h>>2]=0;Em()|0;a=Tr(a,g,e)|0;e=H;k=c[h>>2]|0;if((k|0)==0)c[h>>2]=j;if((c[g>>2]|0)!=(b|0)){c[d>>2]=4;a=0;break}do if((k|0)==34){c[d>>2]=4;if((e|0)>0|(e|0)==0&a>>>0>0){a=2147483647;break a}}else{if((e|0)<-1|(e|0)==-1&a>>>0<2147483648){c[d>>2]=4;break}if((e|0)>0|(e|0)==0&a>>>0>2147483647){c[d>>2]=4;a=2147483647;break a}else break a}while(0);a=-2147483648}while(0);i=f;return a|0}function Lr(b){b=b|0;var d=0,e=0,f=0,g=0;d=i;e=c[b>>2]|0;if((e|0)==0){i=d;return}f=b+4|0;g=c[f>>2]|0;if((g|0)!=(e|0))c[f>>2]=g+(~((g+ -4+(0-e)|0)>>>2)<<2);if((b+16|0)==(e|0)){a[b+128>>0]=0;i=d;return}else{Us(e);i=d;return}}function Mr(b){b=b|0;b=i;if(!((a[21772]&1)==0))Us(c[5445]|0);if(!((a[21760]&1)==0))Us(c[5442]|0);if(!((a[21748]&1)==0))Us(c[5439]|0);if(!((a[21736]&1)==0))Us(c[5436]|0);if(!((a[21724]&1)==0))Us(c[5433]|0);if(!((a[21712]&1)==0))Us(c[5430]|0);if(!((a[21700]&1)==0))Us(c[5427]|0);if(!((a[21688]&1)==0))Us(c[5424]|0);if(!((a[21676]&1)==0))Us(c[5421]|0);if(!((a[21664]&1)==0))Us(c[5418]|0);if(!((a[21652]&1)==0))Us(c[5415]|0);if(!((a[21640]&1)==0))Us(c[5412]|0);if(!((a[21628]&1)==0))Us(c[5409]|0);if(!((a[21616]&1)==0))Us(c[5406]|0);if(!((a[21604]&1)==0))Us(c[5403]|0);if(!((a[21592]&1)==0))Us(c[5400]|0);if(!((a[21580]&1)==0))Us(c[5397]|0);if(!((a[21568]&1)==0))Us(c[5394]|0);if(!((a[21556]&1)==0))Us(c[5391]|0);if(!((a[21544]&1)==0))Us(c[5388]|0);if(!((a[21532]&1)==0))Us(c[5385]|0);if(!((a[21520]&1)==0))Us(c[5382]|0);if(!((a[21508]&1)==0))Us(c[5379]|0);if((a[21496]&1)==0){i=b;return}Us(c[5376]|0);i=b;return}function Nr(b){b=b|0;b=i;if(!((a[22100]&1)==0))Us(c[5527]|0);if(!((a[22088]&1)==0))Us(c[5524]|0);if(!((a[22076]&1)==0))Us(c[5521]|0);if(!((a[22064]&1)==0))Us(c[5518]|0);if(!((a[22052]&1)==0))Us(c[5515]|0);if(!((a[22040]&1)==0))Us(c[5512]|0);if(!((a[22028]&1)==0))Us(c[5509]|0);if(!((a[22016]&1)==0))Us(c[5506]|0);if(!((a[22004]&1)==0))Us(c[5503]|0);if(!((a[21992]&1)==0))Us(c[5500]|0);if(!((a[21980]&1)==0))Us(c[5497]|0);if(!((a[21968]&1)==0))Us(c[5494]|0);if(!((a[21956]&1)==0))Us(c[5491]|0);if(!((a[21944]&1)==0))Us(c[5488]|0);if(!((a[21932]&1)==0))Us(c[5485]|0);if(!((a[21920]&1)==0))Us(c[5482]|0);if(!((a[21908]&1)==0))Us(c[5479]|0);if(!((a[21896]&1)==0))Us(c[5476]|0);if(!((a[21884]&1)==0))Us(c[5473]|0);if(!((a[21872]&1)==0))Us(c[5470]|0);if(!((a[21860]&1)==0))Us(c[5467]|0);if(!((a[21848]&1)==0))Us(c[5464]|0);if(!((a[21836]&1)==0))Us(c[5461]|0);if((a[21824]&1)==0){i=b;return}Us(c[5458]|0);i=b;return}function Or(b){b=b|0;b=i;if(!((a[22412]&1)==0))Us(c[5605]|0);if(!((a[22400]&1)==0))Us(c[5602]|0);if(!((a[22388]&1)==0))Us(c[5599]|0);if(!((a[22376]&1)==0))Us(c[5596]|0);if(!((a[22364]&1)==0))Us(c[5593]|0);if(!((a[22352]&1)==0))Us(c[5590]|0);if(!((a[22340]&1)==0))Us(c[5587]|0);if(!((a[22328]&1)==0))Us(c[5584]|0);if(!((a[22316]&1)==0))Us(c[5581]|0);if(!((a[22304]&1)==0))Us(c[5578]|0);if(!((a[22292]&1)==0))Us(c[5575]|0);if(!((a[22280]&1)==0))Us(c[5572]|0);if(!((a[22268]&1)==0))Us(c[5569]|0);if(!((a[22256]&1)==0))Us(c[5566]|0);if(!((a[22244]&1)==0))Us(c[5563]|0);if(!((a[22232]&1)==0))Us(c[5560]|0);if(!((a[22220]&1)==0))Us(c[5557]|0);if(!((a[22208]&1)==0))Us(c[5554]|0);if(!((a[22196]&1)==0))Us(c[5551]|0);if(!((a[22184]&1)==0))Us(c[5548]|0);if(!((a[22172]&1)==0))Us(c[5545]|0);if(!((a[22160]&1)==0))Us(c[5542]|0);if(!((a[22148]&1)==0))Us(c[5539]|0);if((a[22136]&1)==0){i=b;return}Us(c[5536]|0);i=b;return}function Pr(b){b=b|0;b=i;if(!((a[23252]&1)==0))Us(c[5815]|0);if(!((a[23240]&1)==0))Us(c[5812]|0);if(!((a[23228]&1)==0))Us(c[5809]|0);if(!((a[23216]&1)==0))Us(c[5806]|0);if(!((a[23204]&1)==0))Us(c[5803]|0);if(!((a[23192]&1)==0))Us(c[5800]|0);if(!((a[23180]&1)==0))Us(c[5797]|0);if(!((a[23168]&1)==0))Us(c[5794]|0);if(!((a[23156]&1)==0))Us(c[5791]|0);if(!((a[23144]&1)==0))Us(c[5788]|0);if(!((a[23132]&1)==0))Us(c[5785]|0);if(!((a[23120]&1)==0))Us(c[5782]|0);if(!((a[23108]&1)==0))Us(c[5779]|0);if(!((a[23096]&1)==0))Us(c[5776]|0);if(!((a[23084]&1)==0))Us(c[5773]|0);if(!((a[23072]&1)==0))Us(c[5770]|0);if(!((a[23060]&1)==0))Us(c[5767]|0);if(!((a[23048]&1)==0))Us(c[5764]|0);if(!((a[23036]&1)==0))Us(c[5761]|0);if(!((a[23024]&1)==0))Us(c[5758]|0);if(!((a[23012]&1)==0))Us(c[5755]|0);if(!((a[23e3]&1)==0))Us(c[5752]|0);if(!((a[22988]&1)==0))Us(c[5749]|0);if((a[22976]&1)==0){i=b;return}Us(c[5746]|0);i=b;return}function Qr(b){b=b|0;b=i;if(!((a[23644]&1)==0))Us(c[5913]|0);if(!((a[23632]&1)==0))Us(c[5910]|0);if(!((a[23620]&1)==0))Us(c[5907]|0);if(!((a[23608]&1)==0))Us(c[5904]|0);if(!((a[23596]&1)==0))Us(c[5901]|0);if(!((a[23584]&1)==0))Us(c[5898]|0);if(!((a[23572]&1)==0))Us(c[5895]|0);if(!((a[23560]&1)==0))Us(c[5892]|0);if(!((a[23548]&1)==0))Us(c[5889]|0);if(!((a[23536]&1)==0))Us(c[5886]|0);if(!((a[23524]&1)==0))Us(c[5883]|0);if(!((a[23512]&1)==0))Us(c[5880]|0);if(!((a[23500]&1)==0))Us(c[5877]|0);if((a[23488]&1)==0){i=b;return}Us(c[5874]|0);i=b;return}function Rr(b){b=b|0;b=i;if(!((a[24180]&1)==0))Us(c[6047]|0);if(!((a[24168]&1)==0))Us(c[6044]|0);if(!((a[24156]&1)==0))Us(c[6041]|0);if(!((a[24144]&1)==0))Us(c[6038]|0);if(!((a[24132]&1)==0))Us(c[6035]|0);if(!((a[24120]&1)==0))Us(c[6032]|0);if(!((a[24108]&1)==0))Us(c[6029]|0);if(!((a[24096]&1)==0))Us(c[6026]|0);if(!((a[24084]&1)==0))Us(c[6023]|0);if(!((a[24072]&1)==0))Us(c[6020]|0);if(!((a[24060]&1)==0))Us(c[6017]|0);if(!((a[24048]&1)==0))Us(c[6014]|0);if(!((a[24036]&1)==0))Us(c[6011]|0);if((a[24024]&1)==0){i=b;return}Us(c[6008]|0);i=b;return}function Sr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+112|0;g=e;c[g>>2]=0;f=g+4|0;c[f>>2]=a;c[g+44>>2]=a;if((a|0)<0){c[g+8>>2]=-1;j=-1}else{j=a+2147483647|0;c[g+8>>2]=j}c[g+76>>2]=-1;c[g+104>>2]=0;h=g+108|0;c[h>>2]=j-a;c[g+100>>2]=j;d=Xs(g,d,1,-1,-1)|0;j=H;if((b|0)==0){H=j;i=e;return d|0}c[b>>2]=a+((c[f>>2]|0)+(c[h>>2]|0)-(c[g+8>>2]|0));H=j;i=e;return d|0}function Tr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0;e=i;i=i+112|0;g=e;c[g>>2]=0;f=g+4|0;c[f>>2]=a;c[g+44>>2]=a;if((a|0)<0){c[g+8>>2]=-1;j=-1}else{j=a+2147483647|0;c[g+8>>2]=j}c[g+76>>2]=-1;c[g+104>>2]=0;h=g+108|0;c[h>>2]=j-a;c[g+100>>2]=j;d=Xs(g,d,1,0,-2147483648)|0;j=H;if((b|0)==0){H=j;i=e;return d|0}c[b>>2]=a+((c[f>>2]|0)+(c[h>>2]|0)-(c[g+8>>2]|0));H=j;i=e;return d|0}function Ur(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0;g=i;i=i+16|0;h=g;c[h>>2]=b;f=(f|0)==0?24552:f;k=c[f>>2]|0;a:do if((d|0)==0){if((k|0)==0){k=0;i=g;return k|0}}else{if((b|0)==0)c[h>>2]=h;else h=b;if((e|0)==0){k=-2;i=g;return k|0}do if((k|0)==0){b=a[d>>0]|0;j=b&255;if(b<<24>>24>-1){c[h>>2]=j;k=b<<24>>24!=0&1;i=g;return k|0}else{b=j+ -194|0;if(b>>>0>50)break a;k=c[24336+(b<<2)>>2]|0;b=e+ -1|0;d=d+1|0;break}}else b=e;while(0);b:do if((b|0)!=0){j=a[d>>0]|0;l=(j&255)>>>3;if((l+ -16|l+(k>>26))>>>0>7)break a;while(1){d=d+1|0;k=(j&255)+ -128|k<<6;b=b+ -1|0;if((k|0)>=0)break;if((b|0)==0)break b;j=a[d>>0]|0;if(((j&255)+ -128|0)>>>0>63)break a}c[f>>2]=0;c[h>>2]=k;l=e-b|0;i=g;return l|0}while(0);c[f>>2]=k;l=-2;i=g;return l|0}while(0);c[f>>2]=0;c[($c()|0)>>2]=84;l=-1;i=g;return l|0}function Vr(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0;h=i;k=c[e>>2]|0;if((g|0)!=0?(l=c[g>>2]|0,(l|0)!=0):0)if((b|0)==0){j=f;g=16}else{c[g>>2]=0;j=f;g=36}else if((b|0)==0){j=f;g=7}else{j=f;g=6}a:while(1)if((g|0)==6){if((j|0)==0){g=26;break}while(1){l=a[k>>0]|0;b:do if(((l&255)+ -1|0)>>>0<127?(k&3|0)==0&j>>>0>4:0){do{g=c[k>>2]|0;if(((g+ -16843009|g)&-2139062144|0)!=0){l=g&255;break b}c[b>>2]=g&255;c[b+4>>2]=d[k+1>>0];c[b+8>>2]=d[k+2>>0];l=k;k=k+4|0;m=b;b=b+16|0;c[m+12>>2]=d[l+3>>0];j=j+ -4|0}while(j>>>0>4);l=a[k>>0]|0}while(0);g=l&255;if(!((g+ -1|0)>>>0<127))break;k=k+1|0;c[b>>2]=g;j=j+ -1|0;if((j|0)==0){g=26;break a}else b=b+4|0}g=g+ -194|0;if(g>>>0>50){g=48;break}l=c[24336+(g<<2)>>2]|0;k=k+1|0;g=36;continue}else if((g|0)==7){g=a[k>>0]|0;if(((g&255)+ -1|0)>>>0<127?(k&3|0)==0:0){g=c[k>>2]|0;if(((g+ -16843009|g)&-2139062144|0)==0)do{k=k+4|0;j=j+ -4|0;g=c[k>>2]|0}while(((g+ -16843009|g)&-2139062144|0)==0);l=g&255;g=g&255}else l=g;g=g&255;if((g+ -1|0)>>>0<127){k=k+1|0;j=j+ -1|0;g=7;continue}g=g+ -194|0;if(g>>>0>50){g=48;break}l=c[24336+(g<<2)>>2]|0;k=k+1|0;g=16;continue}else if((g|0)==16){m=(d[k>>0]|0)>>>3;if((m+ -16|m+(l>>26))>>>0>7){g=17;break}g=k+1|0;if((l&33554432|0)!=0){if(((d[g>>0]|0)+ -128|0)>>>0>63){g=20;break}g=k+2|0;if((l&524288|0)==0)k=g;else{if(((d[g>>0]|0)+ -128|0)>>>0>63){g=23;break}k=k+3|0}}else k=g;j=j+ -1|0;g=7;continue}else if((g|0)==36){m=d[k>>0]|0;g=m>>>3;if((g+ -16|g+(l>>26))>>>0>7){g=37;break}g=k+1|0;l=m+ -128|l<<6;if((l|0)<0){m=(d[g>>0]|0)+ -128|0;if(m>>>0>63){g=40;break}g=k+2|0;l=m|l<<6;if((l|0)<0){g=(d[g>>0]|0)+ -128|0;if(g>>>0>63){g=43;break}l=g|l<<6;k=k+3|0}else k=g}else k=g;c[b>>2]=l;j=j+ -1|0;b=b+4|0;g=6;continue}if((g|0)==17){k=k+ -1|0;g=46}else if((g|0)==20){k=k+ -1|0;g=46}else if((g|0)==23){k=k+ -1|0;g=46}else if((g|0)==26){c[e>>2]=k;m=f;i=h;return m|0}else if((g|0)==37){k=k+ -1|0;g=46}else if((g|0)==40){k=k+ -1|0;g=46}else if((g|0)==43){k=k+ -1|0;g=46}if((g|0)==46)if((l|0)==0){l=a[k>>0]|0;g=48}if((g|0)==48)if(l<<24>>24==0){if((b|0)!=0){c[b>>2]=0;c[e>>2]=0}m=f-j|0;i=h;return m|0}c[($c()|0)>>2]=84;if((b|0)==0){m=-1;i=h;return m|0}c[e>>2]=k;m=-1;i=h;return m|0}function Wr(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=i;i=i+16|0;f=e;c[f>>2]=d;d=Xr(a,b,f)|0;i=e;return d|0}function Xr(e,f,j){e=e|0;f=f|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0.0;l=i;i=i+416|0;q=l+128|0;p=l+120|0;m=l+145|0;n=l+112|0;o=l+144|0;r=l;t=r+0|0;s=t+112|0;do{c[t>>2]=0;t=t+4|0}while((t|0)<(s|0));c[r+32>>2]=50;c[r+44>>2]=e;c[r+76>>2]=-1;c[r+84>>2]=e;C=a[f>>0]|0;if(C<<24>>24==0){O=0;i=l;return O|0}A=r+4|0;B=r+100|0;z=r+108|0;y=r+8|0;u=m+10|0;t=m+33|0;s=p+4|0;v=m+46|0;w=m+94|0;x=r+104|0;e=0;E=0;J=0;I=0;a:while(1){b:do if(!(C<<24>>24==32)?!(((C&255)+ -9|0)>>>0<5):0){C=C<<24>>24==37;c:do if(C){K=f+1|0;D=a[K>>0]|0;do if(D<<24>>24==42){C=0;K=f+2|0}else if(D<<24>>24==37)break c;else{D=(D&255)+ -48|0;if(D>>>0<10?(a[f+2>>0]|0)==36:0){c[q>>2]=c[j>>2];while(1){O=c[q>>2]|0;C=c[O>>2]|0;c[q>>2]=O+4;if(D>>>0>1)D=D+ -1|0;else break}K=f+3|0;break}O=c[j>>2]|0;C=c[O>>2]|0;c[j>>2]=O+4}while(0);G=a[K>>0]|0;D=G&255;if((D+ -48|0)>>>0<10){F=0;do{F=(F*10|0)+ -48+D|0;K=K+1|0;G=a[K>>0]|0;D=G&255}while((D+ -48|0)>>>0<10)}else F=0;if(G<<24>>24==109){K=K+1|0;G=a[K>>0]|0;D=(C|0)!=0&1;J=0;I=0}else D=0;f=K+1|0;switch(G&255|0){case 104:{G=(a[f>>0]|0)==104;f=G?K+2|0:f;G=G?-2:-1;break};case 108:{G=(a[f>>0]|0)==108;f=G?K+2|0:f;G=G?3:1;break};case 116:case 122:{G=1;break};case 76:{G=2;break};case 110:case 112:case 67:case 83:case 91:case 99:case 115:case 88:case 71:case 70:case 69:case 65:case 103:case 102:case 101:case 97:case 120:case 117:case 111:case 105:case 100:{f=K;G=0;break};case 106:{G=3;break};default:{k=169;break a}}M=d[f>>0]|0;K=(M&47|0)==3;M=K?M|32:M;K=K?1:G;if((M|0)!=91)if((M|0)==99)F=(F|0)<1?1:F;else if((M|0)==110){if((C|0)==0)break b;switch(K|0){case-2:{a[C>>0]=E;break b};case-1:{b[C>>1]=E;break b};case 0:{c[C>>2]=E;break b};case 1:{c[C>>2]=E;break b};case 3:{O=C;c[O>>2]=E;c[O+4>>2]=((E|0)<0)<<31>>31;break b};default:break b}}else{c[x>>2]=0;G=c[y>>2]|0;L=c[A>>2]|0;c[z>>2]=G-L;c[B>>2]=G;while(1){if(L>>>0<G>>>0){c[A>>2]=L+1;G=d[L>>0]|0}else G=_s(r)|0;if(!((G|0)==32|(G+ -9|0)>>>0<5))break;L=c[A>>2]|0;G=c[B>>2]|0}G=c[A>>2]|0;if((c[B>>2]|0)!=0){G=G+ -1|0;c[A>>2]=G}E=(c[z>>2]|0)+E+G-(c[y>>2]|0)|0}c[x>>2]=F;L=c[y>>2]|0;G=c[A>>2]|0;O=L-G|0;c[z>>2]=O;if((F|0)!=0&(O|0)>(F|0))L=G+F|0;c[B>>2]=L;if(G>>>0<L>>>0)c[A>>2]=G+1;else{if((_s(r)|0)<0){k=169;break a}L=c[B>>2]|0}if((L|0)!=0)c[A>>2]=(c[A>>2]|0)+ -1;d:do switch(M|0){case 120:case 88:case 112:{F=16;k=151;break};case 111:{F=8;k=151;break};case 117:case 100:{F=10;k=151;break};case 105:{F=0;k=151;break};case 91:case 99:case 115:{G=(M|0)==99;e:do if((M&239|0)==99){st(m|0,-1,257)|0;a[m>>0]=0;if((M|0)==115){a[t>>0]=0;a[u+0>>0]=0;a[u+1>>0]=0;a[u+2>>0]=0;a[u+3>>0]=0;a[u+4>>0]=0}}else{O=f+1|0;N=(a[O>>0]|0)==94;M=N&1;f=N?f+2|0:O;st(m|0,N&1|0,257)|0;a[m>>0]=0;N=a[f>>0]|0;if(N<<24>>24==45){M=(M^1)&255;a[v>>0]=M;f=f+1|0}else if(N<<24>>24==93){M=(M^1)&255;a[w>>0]=M;f=f+1|0}else M=(M^1)&255;while(1){O=a[f>>0]|0;if(O<<24>>24==45){N=f+1|0;O=a[N>>0]|0;if(!(O<<24>>24==93|O<<24>>24==0)){f=a[f+ -1>>0]|0;if((f&255)<(O&255)){f=f&255;do{f=f+1|0;a[m+f>>0]=M;O=a[N>>0]|0}while((f|0)<(O&255|0));f=N}else f=N}else O=45}else if(O<<24>>24==93)break e;else if(O<<24>>24==0){k=169;break a}a[m+((O&255)+1)>>0]=M;f=f+1|0}}while(0);N=G?F+1|0:31;I=(K|0)==1;J=(D|0)!=0;f:do if(I){if(J){K=Ts(N<<2)|0;if((K|0)==0){J=0;I=K;k=169;break a}}else K=C;c[p>>2]=0;c[s>>2]=0;M=0;L=N;g:while(1){if((K|0)==0){N=J&(M|0)==(L|0);while(1){O=c[A>>2]|0;if(O>>>0<(c[B>>2]|0)>>>0){c[A>>2]=O+1;O=d[O>>0]|0}else O=_s(r)|0;if((a[m+(O+1)>>0]|0)==0){K=0;break g}a[o>>0]=O;O=Ur(n,o,1,p)|0;if((O|0)==-2)continue;else if((O|0)==-1){J=0;I=0;k=169;break a}if(N)break}}else{if(!J){k=105;break}while(1){while(1){N=c[A>>2]|0;if(N>>>0<(c[B>>2]|0)>>>0){c[A>>2]=N+1;N=d[N>>0]|0}else N=_s(r)|0;if((a[m+(N+1)>>0]|0)==0)break g;a[o>>0]=N;N=Ur(n,o,1,p)|0;if((N|0)==-1){J=0;I=K;k=169;break a}else if(!((N|0)==-2))break}c[K+(M<<2)>>2]=c[n>>2];M=M+1|0;if((M|0)==(L|0)){M=L;break}}}L=L<<1|1;N=Vs(K,L<<2)|0;if((N|0)==0){J=0;I=K;k=169;break a}K=N}h:do if((k|0)==105)while(1){k=0;while(1){L=c[A>>2]|0;if(L>>>0<(c[B>>2]|0)>>>0){c[A>>2]=L+1;L=d[L>>0]|0}else L=_s(r)|0;if((a[m+(L+1)>>0]|0)==0)break h;a[o>>0]=L;L=Ur(n,o,1,p)|0;if((L|0)==-1){D=0;J=0;I=K;k=169;break a}else if(!((L|0)==-2))break}c[K+(M<<2)>>2]=c[n>>2];M=M+1|0;k=105}while(0);if((c[p>>2]|0)==0)L=0;else{J=0;I=K;k=169;break a}}else{if(J){L=Ts(N)|0;if((L|0)==0){J=0;I=0;k=169;break a}else{M=0;K=N}while(1){do{N=c[A>>2]|0;if(N>>>0<(c[B>>2]|0)>>>0){c[A>>2]=N+1;N=d[N>>0]|0}else N=_s(r)|0;if((a[m+(N+1)>>0]|0)==0){K=0;break f}a[L+M>>0]=N;M=M+1|0}while((M|0)!=(K|0));M=K<<1|1;N=Vs(L,M)|0;if((N|0)==0){J=L;I=0;k=169;break a}else{O=K;K=M;L=N;M=O}}}if((C|0)==0)while(1){K=c[A>>2]|0;if(K>>>0<L>>>0){c[A>>2]=K+1;K=d[K>>0]|0}else K=_s(r)|0;if((a[m+(K+1)>>0]|0)==0){M=0;L=0;K=0;break f}L=c[B>>2]|0}else{M=0;while(1){K=c[A>>2]|0;if(K>>>0<L>>>0){c[A>>2]=K+1;K=d[K>>0]|0}else K=_s(r)|0;if((a[m+(K+1)>>0]|0)==0){L=C;K=0;break f}a[C+M>>0]=K;L=c[B>>2]|0;M=M+1|0}}}while(0);N=c[A>>2]|0;if((c[B>>2]|0)!=0){N=N+ -1|0;c[A>>2]=N}N=N-(c[y>>2]|0)+(c[z>>2]|0)|0;if((N|0)==0){J=L;I=K;break a}if(!((N|0)==(F|0)|G^1)){J=L;I=K;break a}do if(J)if(I){c[C>>2]=K;break}else{c[C>>2]=L;break}while(0);if(G){J=L;I=K}else{if((K|0)!=0)c[K+(M<<2)>>2]=0;if((L|0)==0){J=0;I=K;break d}a[L+M>>0]=0;J=L;I=K}break};case 71:case 103:case 70:case 102:case 69:case 101:case 65:case 97:{P=+Ys(r,K,0);if((c[z>>2]|0)==((c[y>>2]|0)-(c[A>>2]|0)|0))break a;if((C|0)!=0)if((K|0)==0){g[C>>2]=P;break d}else if((K|0)==1){h[C>>3]=P;break d}else if((K|0)==2){h[C>>3]=P;break d}else break d;break};default:{}}while(0);i:do if((k|0)==151){k=0;F=Xs(r,F,0,-1,-1)|0;if((c[z>>2]|0)==((c[y>>2]|0)-(c[A>>2]|0)|0))break a;D=(C|0)==0;if(!((M|0)!=112|D)){c[C>>2]=F;break}if(!D)switch(K|0){case-2:{a[C>>0]=F;break i};case-1:{b[C>>1]=F;break i};case 0:{c[C>>2]=F;break i};case 1:{c[C>>2]=F;break i};case 3:{O=C;c[O>>2]=F;c[O+4>>2]=H;break i};default:break i}}while(0);e=((C|0)!=0&1)+e|0;E=(c[z>>2]|0)+E+(c[A>>2]|0)-(c[y>>2]|0)|0;break b}while(0);f=f+(C&1)|0;c[x>>2]=0;O=c[y>>2]|0;C=c[A>>2]|0;c[z>>2]=O-C;c[B>>2]=O;if(C>>>0<O>>>0){c[A>>2]=C+1;C=d[C>>0]|0}else C=_s(r)|0;if((C|0)!=(d[f>>0]|0)){k=22;break a}E=E+1|0}else k=5;while(0);if((k|0)==5){while(1){k=0;D=f+1|0;C=a[D>>0]|0;if(C<<24>>24==32){f=D;k=5;continue}if(((C&255)+ -9|0)>>>0<5){f=D;k=5}else break}c[x>>2]=0;D=c[y>>2]|0;C=c[A>>2]|0;c[z>>2]=D-C;c[B>>2]=D;while(1){if(C>>>0<D>>>0){c[A>>2]=C+1;C=d[C>>0]|0}else C=_s(r)|0;if(!((C|0)==32|(C+ -9|0)>>>0<5))break;C=c[A>>2]|0;D=c[B>>2]|0}C=c[A>>2]|0;if((c[B>>2]|0)!=0){C=C+ -1|0;c[A>>2]=C}E=(c[z>>2]|0)+E+C-(c[y>>2]|0)|0}f=f+1|0;C=a[f>>0]|0;if(C<<24>>24==0){k=172;break}}if((k|0)==172){i=l;return e|0}if((k|0)==22){if((c[B>>2]|0)!=0)c[A>>2]=(c[A>>2]|0)+ -1;if((C|0)<0){D=0;k=169}else{O=e;i=l;return O|0}}if((k|0)==169)e=(((e|0)==0)<<31>>31)+e|0;if((D|0)==0){O=e;i=l;return O|0}Us(J);Us(I);O=e;i=l;return O|0}function Yr(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;h=i;g=b+84|0;f=c[g>>2]|0;k=e+256|0;j=f;o=(k|0)==0;a:do if((j&3|0)==0|o){n=k;m=f;l=4}else{n=k;m=f;while(1){if((a[m>>0]|0)==0)break a;m=m+1|0;n=n+ -1|0;o=(n|0)==0;if((m&3|0)==0|o){l=4;break}}}while(0);b:do if((l|0)==4)if(!o){if((a[m>>0]|0)!=0){c:do if(n>>>0>3)do{o=c[m>>2]|0;if(((o&-2139062144^-2139062144)&o+ -16843009|0)!=0)break c;m=m+4|0;n=n+ -4|0}while(n>>>0>3);while(0);if((n|0)==0)n=0;else while(1){if((a[m>>0]|0)==0)break b;m=m+1|0;n=n+ -1|0;if((n|0)==0){n=0;break}}}}else n=0;while(0);l=(n|0)!=0?m:0;if((l|0)!=0)k=l-j|0;o=k>>>0<e>>>0?k:e;pt(d|0,f|0,o|0)|0;c[b+4>>2]=f+o;n=f+k|0;c[b+8>>2]=n;c[g>>2]=n;i=h;return o|0}function Zr(a,b){a=a|0;b=b|0;var d=0;d=i;i=i+16|0;c[d>>2]=b;b=c[p>>2]|0;Yb(b|0,a|0,d|0)|0;dd(10,b|0)|0;tc()}function _r(){var a=0,b=0,d=0,e=0,f=0;a=i;i=i+16|0;b=a;a=a+12|0;if((Ab(24744,23)|0)!=0)Zr(24752,b);d=Ac(c[6184]|0)|0;if((d|0)==0)Zr(24720,b);d=c[d>>2]|0;if((d|0)==0)Zr(24720,b);f=d+48|0;e=c[f>>2]|0;f=c[f+4>>2]|0;if(!((e&-256|0)==1126902528&(f|0)==1129074247)){c[b>>2]=24568;Zr(24680,b)}if((e|0)==1126902529&(f|0)==1129074247)e=c[d+44>>2]|0;else e=d+80|0;c[a>>2]=e;f=c[d>>2]|0;d=c[f+4>>2]|0;if(As(25112,f,a)|0){f=c[a>>2]|0;f=ud[c[(c[f>>2]|0)+8>>2]&127](f)|0;c[b>>2]=24568;c[b+4>>2]=d;c[b+8>>2]=f;Zr(24584,b)}else{c[b>>2]=24568;c[b+4>>2]=d;Zr(24632,b)}}function $r(){var a=0;a=i;i=i+16|0;if((kc(24736,194)|0)==0){i=a;return}else Zr(24808,a)}function as(a){a=a|0;var b=0;b=i;i=i+16|0;Us(a);if((bd(c[6184]|0,0)|0)==0){i=b;return}else Zr(24864,b)}function bs(a){a=a|0;var b=0,d=0;b=i;a=(a|0)==0?1:a;d=Ts(a)|0;if((d|0)!=0){i=b;return d|0}while(1){d=c[6272]|0;c[6272]=d+0;if((d|0)==0){a=4;break}yd[d&31]();d=Ts(a)|0;if((d|0)!=0){a=5;break}}if((a|0)==4){d=_b(4)|0;c[d>>2]=24928;ed(d|0,24976,117)}else if((a|0)==5){i=b;return d|0}return 0}function cs(a){a=a|0;var b=0;b=i;Us(a);i=b;return}function ds(a){a=a|0;return}function es(a){a=a|0;return 24944}function fs(a){a=a|0;var b=0;b=i;i=i+16|0;yd[a&31]();Zr(24992,b)}function gs(){var a=0,b=0;b=i;i=i+16|0;if((Ab(24744,23)|0)!=0)Zr(24752,b);b=Ac(c[6184]|0)|0;if(((b|0)!=0?(a=c[b>>2]|0,(a|0)!=0):0)?(b=a+48|0,(c[b>>2]&-256|0)==1126902528?(c[b+4>>2]|0)==1129074247:0):0)fs(c[a+12>>2]|0);b=c[6140]|0;c[6140]=b+0;fs(b)}function hs(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;c[a>>2]=25128;d=a+4|0;f=(c[d>>2]|0)+ -4|0;e=c[f>>2]|0;c[f>>2]=e+ -1;if((e+ -1|0)>=0){Us(a);i=b;return}Us((c[d>>2]|0)+ -12|0);Us(a);i=b;return}function is(a){a=a|0;var b=0,d=0,e=0;b=i;c[a>>2]=25128;a=a+4|0;e=(c[a>>2]|0)+ -4|0;d=c[e>>2]|0;c[e>>2]=d+ -1;if((d+ -1|0)>=0){i=b;return}Us((c[a>>2]|0)+ -12|0);i=b;return}function js(a){a=a|0;return c[a+4>>2]|0}function ks(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;c[a>>2]=25152;d=a+4|0;f=(c[d>>2]|0)+ -4|0;e=c[f>>2]|0;c[f>>2]=e+ -1;if((e+ -1|0)>=0){Us(a);i=b;return}Us((c[d>>2]|0)+ -12|0);Us(a);i=b;return}function ls(a){a=a|0;var b=0,d=0,e=0;b=i;c[a>>2]=25152;a=a+4|0;e=(c[a>>2]|0)+ -4|0;d=c[e>>2]|0;c[e>>2]=d+ -1;if((d+ -1|0)>=0){i=b;return}Us((c[a>>2]|0)+ -12|0);i=b;return}function ms(a){a=a|0;return c[a+4>>2]|0}function ns(a){a=a|0;var b=0,d=0,e=0,f=0;b=i;c[a>>2]=25128;d=a+4|0;f=(c[d>>2]|0)+ -4|0;e=c[f>>2]|0;c[f>>2]=e+ -1;if((e+ -1|0)>=0){Us(a);i=b;return}Us((c[d>>2]|0)+ -12|0);Us(a);i=b;return}function os(a){a=a|0;var b=0;b=i;Us(a);i=b;return}function ps(a){a=a|0;return}function qs(a){a=a|0;return 25328}function rs(a){a=a|0;return}function ss(a){a=a|0;return}function ts(a){a=a|0;return}function us(a){a=a|0;var b=0;b=i;Us(a);i=b;return}function vs(a){a=a|0;var b=0;b=i;Us(a);i=b;return}function ws(a){a=a|0;var b=0;b=i;Us(a);i=b;return}function xs(a){a=a|0;var b=0;b=i;Us(a);i=b;return}function ys(a){a=a|0;var b=0;b=i;Us(a);i=b;return}function zs(a,b,c){a=a|0;b=b|0;c=c|0;return(a|0)==(b|0)|0}function As(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;e=i;i=i+64|0;f=e;if((a|0)==(b|0)){h=1;i=e;return h|0}if((b|0)==0){h=0;i=e;return h|0}b=Hs(b,25496)|0;if((b|0)==0){h=0;i=e;return h|0}h=f+0|0;g=h+56|0;do{c[h>>2]=0;h=h+4|0}while((h|0)<(g|0));c[f>>2]=b;c[f+8>>2]=a;c[f+12>>2]=-1;c[f+48>>2]=1;Fd[c[(c[b>>2]|0)+28>>2]&63](b,f,c[d>>2]|0,1);if((c[f+24>>2]|0)!=1){h=0;i=e;return h|0}c[d>>2]=c[f+16>>2];h=1;i=e;return h|0}function Bs(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;g=b+16|0;h=c[g>>2]|0;if((h|0)==0){c[g>>2]=d;c[b+24>>2]=e;c[b+36>>2]=1;i=f;return}if((h|0)!=(d|0)){h=b+36|0;c[h>>2]=(c[h>>2]|0)+1;c[b+24>>2]=2;a[b+54>>0]=1;i=f;return}d=b+24|0;if((c[d>>2]|0)!=2){i=f;return}c[d>>2]=e;i=f;return}function Cs(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;if((c[b+8>>2]|0)!=(a|0)){i=f;return}Bs(b,d,e);i=f;return}function Ds(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0;f=i;if((a|0)==(c[b+8>>2]|0)){Bs(b,d,e);i=f;return}else{a=c[a+8>>2]|0;Fd[c[(c[a>>2]|0)+28>>2]&63](a,b,d,e);i=f;return}}function Es(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;g=c[a+4>>2]|0;h=g>>8;if((g&1|0)!=0)h=c[(c[d>>2]|0)+h>>2]|0;a=c[a>>2]|0;Fd[c[(c[a>>2]|0)+28>>2]&63](a,b,d+h|0,(g&2|0)!=0?e:2);i=f;return}function Fs(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0;g=i;if((b|0)==(c[d+8>>2]|0)){Bs(d,e,f);i=g;return}j=c[b+12>>2]|0;h=b+(j<<3)+16|0;Es(b+16|0,d,e,f);if((j|0)<=1){i=g;return}j=d+54|0;b=b+24|0;while(1){Es(b,d,e,f);if((a[j>>0]|0)!=0){f=7;break}b=b+8|0;if(!(b>>>0<h>>>0)){f=7;break}}if((f|0)==7){i=g;return}}function Gs(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;i=i+64|0;h=e;c[d>>2]=c[c[d>>2]>>2];if(!((a|0)==(b|0)|(b|0)==25808))if(((b|0)!=0?(k=Hs(b,25608)|0,(k|0)!=0):0)?(c[k+8>>2]&~c[a+8>>2]|0)==0:0){b=c[a+12>>2]|0;k=k+12|0;if(!((b|0)==25792?1:(b|0)==(c[k>>2]|0)))if((((b|0)!=0?(g=Hs(b,25496)|0,(g|0)!=0):0)?(j=c[k>>2]|0,(j|0)!=0):0)?(f=Hs(j,25496)|0,(f|0)!=0):0){k=h+0|0;j=k+56|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(j|0));c[h>>2]=f;c[h+8>>2]=g;c[h+12>>2]=-1;c[h+48>>2]=1;Fd[c[(c[f>>2]|0)+28>>2]&63](f,h,c[d>>2]|0,1);if((c[h+24>>2]|0)==1){c[d>>2]=c[h+16>>2];d=1}else d=0}else d=0;else d=1}else d=0;else d=1;i=e;return d|0}function Hs(d,e){d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f=i;i=i+64|0;l=f;g=c[d>>2]|0;h=d+(c[g+ -8>>2]|0)|0;g=c[g+ -4>>2]|0;c[l>>2]=e;c[l+4>>2]=d;c[l+8>>2]=25440;p=l+12|0;d=l+16|0;o=l+20|0;j=l+24|0;m=l+28|0;n=l+32|0;k=l+40|0;r=(g|0)==(e|0);e=p+0|0;q=e+40|0;do{c[e>>2]=0;e=e+4|0}while((e|0)<(q|0));b[p+40>>1]=0;a[p+42>>0]=0;if(r){c[l+48>>2]=1;Cd[c[(c[g>>2]|0)+20>>2]&63](g,l,h,h,1,0);r=(c[j>>2]|0)==1?h:0;i=f;return r|0}od[c[(c[g>>2]|0)+24>>2]&127](g,l,h,1,0);g=c[l+36>>2]|0;if((g|0)==1){if((c[j>>2]|0)!=1){if((c[k>>2]|0)!=0){r=0;i=f;return r|0}if((c[m>>2]|0)!=1){r=0;i=f;return r|0}if((c[n>>2]|0)!=1){r=0;i=f;return r|0}}r=c[d>>2]|0;i=f;return r|0}else if((g|0)==0){if((c[k>>2]|0)!=1){r=0;i=f;return r|0}if((c[m>>2]|0)!=1){r=0;i=f;return r|0}r=(c[n>>2]|0)==1?c[o>>2]|0:0;i=f;return r|0}else{r=0;i=f;return r|0}return 0}
function Pm(b,d,e,f,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;m=i;i=i+352|0;v=m+208|0;w=m+184|0;x=m+4|0;n=m+8|0;d=m+196|0;r=m;t=m+24|0;s=m+192|0;q=m+188|0;p=m+337|0;u=m+336|0;y=c[e>>2]|0;z=c[f>>2]|0;Ym(n,h,v,w,x);c[d+0>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;Ok(d,10);if((a[d>>0]&1)==0){A=d+1|0;f=d+8|0;e=A}else{A=d+8|0;f=A;e=d+1|0;A=c[A>>2]|0}c[r>>2]=A;c[s>>2]=t;c[q>>2]=0;a[p>>0]=1;a[u>>0]=69;h=d+4|0;w=c[w>>2]|0;x=c[x>>2]|0;while(1){if((y|0)==0){y=0;B=1}else{B=c[y+12>>2]|0;if((B|0)==(c[y+16>>2]|0))B=ud[c[(c[y>>2]|0)+36>>2]&127](y)|0;else B=c[B>>2]|0;B=(B|0)==-1;y=B?0:y;B=B?1:0}if((z|0)!=0){C=c[z+12>>2]|0;if((C|0)==(c[z+16>>2]|0))C=ud[c[(c[z>>2]|0)+36>>2]&127](z)|0;else C=c[C>>2]|0;if(!((C|0)==-1)){if(!B)break}else l=15}else l=15;if((l|0)==15){l=0;if(B){z=0;break}else z=0}D=a[d>>0]|0;B=(D&1)==0;if(B)C=(D&255)>>>1;else C=c[h>>2]|0;if(((c[r>>2]|0)-A|0)==(C|0)){if(B)B=(D&255)>>>1;else B=c[h>>2]|0;Ok(d,B<<1);if((a[d>>0]&1)==0)A=10;else A=(c[d>>2]&-2)+ -1|0;Ok(d,A);if((a[d>>0]&1)==0)A=e;else A=c[f>>2]|0;c[r>>2]=A+B}C=y+12|0;D=c[C>>2]|0;B=y+16|0;if((D|0)==(c[B>>2]|0))D=ud[c[(c[y>>2]|0)+36>>2]&127](y)|0;else D=c[D>>2]|0;if((Zm(D,p,u,A,r,w,x,n,t,s,q,v)|0)!=0)break;D=c[C>>2]|0;if((D|0)==(c[B>>2]|0)){ud[c[(c[y>>2]|0)+40>>2]&127](y)|0;continue}else{c[C>>2]=D+4;continue}}u=a[n>>0]|0;if((u&1)==0)u=(u&255)>>>1;else u=c[n+4>>2]|0;if(((u|0)!=0?(a[p>>0]|0)!=0:0)?(o=c[s>>2]|0,(o-t|0)<160):0){D=c[q>>2]|0;c[s>>2]=o+4;c[o>>2]=D}g[k>>2]=+Er(A,c[r>>2]|0,j);lp(n,t,c[s>>2]|0,j);if((y|0)==0){k=0;o=1}else{k=c[y+12>>2]|0;if((k|0)==(c[y+16>>2]|0))k=ud[c[(c[y>>2]|0)+36>>2]&127](y)|0;else k=c[k>>2]|0;o=(k|0)==-1;k=o?0:y;o=o?1:0}if((z|0)!=0){p=c[z+12>>2]|0;if((p|0)==(c[z+16>>2]|0))p=ud[c[(c[z>>2]|0)+36>>2]&127](z)|0;else p=c[p>>2]|0;if(!((p|0)==-1)){if(!o)l=55}else l=53}else l=53;if((l|0)==53?o:0)l=55;if((l|0)==55)c[j>>2]=c[j>>2]|2;c[b>>2]=k;if(!((a[d>>0]&1)==0))Us(c[d+8>>2]|0);if((a[n>>0]&1)==0){i=m;return}Us(c[n+8>>2]|0);i=m;return}function Qm(b,d,e,f,g,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;m=i;i=i+352|0;v=m+208|0;w=m+184|0;x=m+4|0;n=m+8|0;d=m+196|0;r=m;t=m+24|0;s=m+192|0;q=m+188|0;p=m+337|0;u=m+336|0;y=c[e>>2]|0;z=c[f>>2]|0;Ym(n,g,v,w,x);c[d+0>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;Ok(d,10);if((a[d>>0]&1)==0){A=d+1|0;f=d+8|0;e=A}else{A=d+8|0;f=A;e=d+1|0;A=c[A>>2]|0}c[r>>2]=A;c[s>>2]=t;c[q>>2]=0;a[p>>0]=1;a[u>>0]=69;g=d+4|0;w=c[w>>2]|0;x=c[x>>2]|0;while(1){if((y|0)==0){y=0;B=1}else{B=c[y+12>>2]|0;if((B|0)==(c[y+16>>2]|0))B=ud[c[(c[y>>2]|0)+36>>2]&127](y)|0;else B=c[B>>2]|0;B=(B|0)==-1;y=B?0:y;B=B?1:0}if((z|0)!=0){C=c[z+12>>2]|0;if((C|0)==(c[z+16>>2]|0))C=ud[c[(c[z>>2]|0)+36>>2]&127](z)|0;else C=c[C>>2]|0;if(!((C|0)==-1)){if(!B)break}else l=15}else l=15;if((l|0)==15){l=0;if(B){z=0;break}else z=0}D=a[d>>0]|0;B=(D&1)==0;if(B)C=(D&255)>>>1;else C=c[g>>2]|0;if(((c[r>>2]|0)-A|0)==(C|0)){if(B)B=(D&255)>>>1;else B=c[g>>2]|0;Ok(d,B<<1);if((a[d>>0]&1)==0)A=10;else A=(c[d>>2]&-2)+ -1|0;Ok(d,A);if((a[d>>0]&1)==0)A=e;else A=c[f>>2]|0;c[r>>2]=A+B}C=y+12|0;D=c[C>>2]|0;B=y+16|0;if((D|0)==(c[B>>2]|0))D=ud[c[(c[y>>2]|0)+36>>2]&127](y)|0;else D=c[D>>2]|0;if((Zm(D,p,u,A,r,w,x,n,t,s,q,v)|0)!=0)break;D=c[C>>2]|0;if((D|0)==(c[B>>2]|0)){ud[c[(c[y>>2]|0)+40>>2]&127](y)|0;continue}else{c[C>>2]=D+4;continue}}u=a[n>>0]|0;if((u&1)==0)u=(u&255)>>>1;else u=c[n+4>>2]|0;if(((u|0)!=0?(a[p>>0]|0)!=0:0)?(o=c[s>>2]|0,(o-t|0)<160):0){D=c[q>>2]|0;c[s>>2]=o+4;c[o>>2]=D}h[k>>3]=+Dr(A,c[r>>2]|0,j);lp(n,t,c[s>>2]|0,j);if((y|0)==0){k=0;o=1}else{k=c[y+12>>2]|0;if((k|0)==(c[y+16>>2]|0))k=ud[c[(c[y>>2]|0)+36>>2]&127](y)|0;else k=c[k>>2]|0;o=(k|0)==-1;k=o?0:y;o=o?1:0}if((z|0)!=0){p=c[z+12>>2]|0;if((p|0)==(c[z+16>>2]|0))p=ud[c[(c[z>>2]|0)+36>>2]&127](z)|0;else p=c[p>>2]|0;if(!((p|0)==-1)){if(!o)l=55}else l=53}else l=53;if((l|0)==53?o:0)l=55;if((l|0)==55)c[j>>2]=c[j>>2]|2;c[b>>2]=k;if(!((a[d>>0]&1)==0))Us(c[d+8>>2]|0);if((a[n>>0]&1)==0){i=m;return}Us(c[n+8>>2]|0);i=m;return}function Rm(b,d,e,f,g,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;m=i;i=i+352|0;v=m+208|0;w=m+184|0;x=m+4|0;n=m+8|0;d=m+196|0;r=m;t=m+24|0;s=m+192|0;q=m+188|0;p=m+337|0;u=m+336|0;y=c[e>>2]|0;z=c[f>>2]|0;Ym(n,g,v,w,x);c[d+0>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;Ok(d,10);if((a[d>>0]&1)==0){A=d+1|0;f=d+8|0;e=A}else{A=d+8|0;f=A;e=d+1|0;A=c[A>>2]|0}c[r>>2]=A;c[s>>2]=t;c[q>>2]=0;a[p>>0]=1;a[u>>0]=69;g=d+4|0;w=c[w>>2]|0;x=c[x>>2]|0;while(1){if((y|0)==0){y=0;B=1}else{B=c[y+12>>2]|0;if((B|0)==(c[y+16>>2]|0))B=ud[c[(c[y>>2]|0)+36>>2]&127](y)|0;else B=c[B>>2]|0;B=(B|0)==-1;y=B?0:y;B=B?1:0}if((z|0)!=0){C=c[z+12>>2]|0;if((C|0)==(c[z+16>>2]|0))C=ud[c[(c[z>>2]|0)+36>>2]&127](z)|0;else C=c[C>>2]|0;if(!((C|0)==-1)){if(!B)break}else l=15}else l=15;if((l|0)==15){l=0;if(B){z=0;break}else z=0}D=a[d>>0]|0;B=(D&1)==0;if(B)C=(D&255)>>>1;else C=c[g>>2]|0;if(((c[r>>2]|0)-A|0)==(C|0)){if(B)B=(D&255)>>>1;else B=c[g>>2]|0;Ok(d,B<<1);if((a[d>>0]&1)==0)A=10;else A=(c[d>>2]&-2)+ -1|0;Ok(d,A);if((a[d>>0]&1)==0)A=e;else A=c[f>>2]|0;c[r>>2]=A+B}C=y+12|0;D=c[C>>2]|0;B=y+16|0;if((D|0)==(c[B>>2]|0))D=ud[c[(c[y>>2]|0)+36>>2]&127](y)|0;else D=c[D>>2]|0;if((Zm(D,p,u,A,r,w,x,n,t,s,q,v)|0)!=0)break;D=c[C>>2]|0;if((D|0)==(c[B>>2]|0)){ud[c[(c[y>>2]|0)+40>>2]&127](y)|0;continue}else{c[C>>2]=D+4;continue}}u=a[n>>0]|0;if((u&1)==0)u=(u&255)>>>1;else u=c[n+4>>2]|0;if(((u|0)!=0?(a[p>>0]|0)!=0:0)?(o=c[s>>2]|0,(o-t|0)<160):0){D=c[q>>2]|0;c[s>>2]=o+4;c[o>>2]=D}h[k>>3]=+Cr(A,c[r>>2]|0,j);lp(n,t,c[s>>2]|0,j);if((y|0)==0){k=0;o=1}else{k=c[y+12>>2]|0;if((k|0)==(c[y+16>>2]|0))k=ud[c[(c[y>>2]|0)+36>>2]&127](y)|0;else k=c[k>>2]|0;o=(k|0)==-1;k=o?0:y;o=o?1:0}if((z|0)!=0){p=c[z+12>>2]|0;if((p|0)==(c[z+16>>2]|0))p=ud[c[(c[z>>2]|0)+36>>2]&127](z)|0;else p=c[p>>2]|0;if(!((p|0)==-1)){if(!o)l=55}else l=53}else l=53;if((l|0)==53?o:0)l=55;if((l|0)==55)c[j>>2]=c[j>>2]|2;c[b>>2]=k;if(!((a[d>>0]&1)==0))Us(c[d+8>>2]|0);if((a[n>>0]&1)==0){i=m;return}Us(c[n+8>>2]|0);i=m;return}function Sm(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;m=i;i=i+320|0;n=m;p=m+168|0;d=m+288|0;l=m+276|0;o=m+300|0;r=m+8|0;q=m+272|0;s=m+304|0;c[d+0>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;g=c[g+28>>2]|0;y=g+4|0;c[y>>2]=(c[y>>2]|0)+1;y=Vp(g,16712)|0;Ad[c[(c[y>>2]|0)+48>>2]&31](y,15248,15274|0,p)|0;y=g+4|0;z=c[y>>2]|0;c[y>>2]=z+ -1;if((z|0)==0)qd[c[(c[g>>2]|0)+8>>2]&255](g);c[l+0>>2]=0;c[l+4>>2]=0;c[l+8>>2]=0;Ok(l,10);if((a[l>>0]&1)==0){w=l+1|0;t=l+8|0;u=w}else{w=l+8|0;t=w;u=l+1|0;w=c[w>>2]|0}c[o>>2]=w;c[q>>2]=r;c[s>>2]=0;g=l+4|0;v=c[e>>2]|0;a:while(1){if((v|0)!=0){x=c[v+12>>2]|0;if((x|0)==(c[v+16>>2]|0))x=ud[c[(c[v>>2]|0)+36>>2]&127](v)|0;else x=c[x>>2]|0;if((x|0)==-1){c[e>>2]=0;v=0;x=1}else x=0}else{v=0;x=1}y=c[f>>2]|0;do if((y|0)!=0){z=c[y+12>>2]|0;if((z|0)==(c[y+16>>2]|0))y=ud[c[(c[y>>2]|0)+36>>2]&127](y)|0;else y=c[z>>2]|0;if(!((y|0)==-1))if(x)break;else break a;else{c[f>>2]=0;k=19;break}}else k=19;while(0);if((k|0)==19?(k=0,x):0)break;y=a[l>>0]|0;z=(y&1)==0;if(z)x=(y&255)>>>1;else x=c[g>>2]|0;if(((c[o>>2]|0)-w|0)==(x|0)){if(z)x=(y&255)>>>1;else x=c[g>>2]|0;Ok(l,x<<1);if((a[l>>0]&1)==0)w=10;else w=(c[l>>2]&-2)+ -1|0;Ok(l,w);if((a[l>>0]&1)==0)w=u;else w=c[t>>2]|0;c[o>>2]=w+x}y=v+12|0;z=c[y>>2]|0;x=v+16|0;if((z|0)==(c[x>>2]|0))z=ud[c[(c[v>>2]|0)+36>>2]&127](v)|0;else z=c[z>>2]|0;if((Tm(z,16,w,o,s,0,d,r,q,p)|0)!=0)break;z=c[y>>2]|0;if((z|0)==(c[x>>2]|0)){ud[c[(c[v>>2]|0)+40>>2]&127](v)|0;continue}else{c[y>>2]=z+4;continue}}a[w+3>>0]=0;z=Em()|0;c[n>>2]=j;if((Dm(w,z,n)|0)!=1)c[h>>2]=4;j=c[e>>2]|0;if((j|0)!=0){n=c[j+12>>2]|0;if((n|0)==(c[j+16>>2]|0))n=ud[c[(c[j>>2]|0)+36>>2]&127](j)|0;else n=c[n>>2]|0;if((n|0)==-1){c[e>>2]=0;e=0;j=1}else{e=j;j=0}}else{e=0;j=1}n=c[f>>2]|0;do if((n|0)!=0){o=c[n+12>>2]|0;if((o|0)==(c[n+16>>2]|0))n=ud[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=c[o>>2]|0;if(!((n|0)==-1))if(j)break;else{k=56;break}else{c[f>>2]=0;k=54;break}}else k=54;while(0);if((k|0)==54?j:0)k=56;if((k|0)==56)c[h>>2]=c[h>>2]|2;c[b>>2]=e;if(!((a[l>>0]&1)==0))Us(c[l+8>>2]|0);if((a[d>>0]&1)==0){i=m;return}Us(c[d+8>>2]|0);i=m;return}function Tm(b,d,e,f,g,h,j,k,l,m){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;var n=0,o=0,p=0,q=0;n=i;p=c[f>>2]|0;o=(p|0)==(e|0);do if(o){q=(c[m+96>>2]|0)==(b|0);if(!q?(c[m+100>>2]|0)!=(b|0):0)break;c[f>>2]=e+1;a[e>>0]=q?43:45;c[g>>2]=0;q=0;i=n;return q|0}while(0);q=a[j>>0]|0;if((q&1)==0)j=(q&255)>>>1;else j=c[j+4>>2]|0;if((j|0)!=0&(b|0)==(h|0)){o=c[l>>2]|0;if((o-k|0)>=160){q=0;i=n;return q|0}q=c[g>>2]|0;c[l>>2]=o+4;c[o>>2]=q;c[g>>2]=0;q=0;i=n;return q|0}l=m+104|0;k=m;while(1){if((c[k>>2]|0)==(b|0))break;k=k+4|0;if((k|0)==(l|0)){k=l;break}}b=k-m|0;m=b>>2;if((b|0)>92){q=-1;i=n;return q|0}if((d|0)==16){if((b|0)>=88){if(o){q=-1;i=n;return q|0}if((p-e|0)>=3){q=-1;i=n;return q|0}if((a[p+ -1>>0]|0)!=48){q=-1;i=n;return q|0}c[g>>2]=0;q=a[15248+m>>0]|0;c[f>>2]=p+1;a[p>>0]=q;q=0;i=n;return q|0}}else if((d|0)==10|(d|0)==8?(m|0)>=(d|0):0){q=-1;i=n;return q|0}q=a[15248+m>>0]|0;c[f>>2]=p+1;a[p>>0]=q;c[g>>2]=(c[g>>2]|0)+1;q=0;i=n;return q|0}function Um(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=i;d=c[d+28>>2]|0;h=d+4|0;c[h>>2]=(c[h>>2]|0)+1;h=Vp(d,16720)|0;Ad[c[(c[h>>2]|0)+32>>2]&31](h,15248,15274|0,e)|0;e=Vp(d,16864)|0;a[f>>0]=ud[c[(c[e>>2]|0)+16>>2]&127](e)|0;rd[c[(c[e>>2]|0)+20>>2]&127](b,e);f=d+4|0;e=c[f>>2]|0;c[f>>2]=e+ -1;if((e|0)!=0){i=g;return}qd[c[(c[d>>2]|0)+8>>2]&255](d);i=g;return}function Vm(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;d=c[d+28>>2]|0;j=d+4|0;c[j>>2]=(c[j>>2]|0)+1;j=Vp(d,16720)|0;Ad[c[(c[j>>2]|0)+32>>2]&31](j,15248,15280|0,e)|0;e=Vp(d,16864)|0;a[f>>0]=ud[c[(c[e>>2]|0)+12>>2]&127](e)|0;a[g>>0]=ud[c[(c[e>>2]|0)+16>>2]&127](e)|0;rd[c[(c[e>>2]|0)+20>>2]&127](b,e);f=d+4|0;e=c[f>>2]|0;c[f>>2]=e+ -1;if((e|0)!=0){i=h;return}qd[c[(c[d>>2]|0)+8>>2]&255](d);i=h;return}function Wm(b,e,f,g,h,j,k,l,m,n,o,p){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0;q=i;if(b<<24>>24==j<<24>>24){if((a[e>>0]|0)==0){k=-1;i=q;return k|0}a[e>>0]=0;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=46;h=a[l>>0]|0;if((h&1)==0)h=(h&255)>>>1;else h=c[l+4>>2]|0;if((h|0)==0){k=0;i=q;return k|0}h=c[n>>2]|0;if((h-m|0)>=160){k=0;i=q;return k|0}k=c[o>>2]|0;c[n>>2]=h+4;c[h>>2]=k;k=0;i=q;return k|0}if(b<<24>>24==k<<24>>24){j=a[l>>0]|0;if((j&1)==0)j=(j&255)>>>1;else j=c[l+4>>2]|0;if((j|0)!=0){if((a[e>>0]|0)==0){k=-1;i=q;return k|0}h=c[n>>2]|0;if((h-m|0)>=160){k=0;i=q;return k|0}k=c[o>>2]|0;c[n>>2]=h+4;c[h>>2]=k;c[o>>2]=0;k=0;i=q;return k|0}}j=p+32|0;k=p;do{if((a[k>>0]|0)==b<<24>>24){j=k;break}k=k+1|0}while((k|0)!=(j|0));b=j-p|0;if((b|0)>31){k=-1;i=q;return k|0}p=a[15248+b>>0]|0;if((b|0)==23|(b|0)==22){a[f>>0]=80;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=p;k=0;i=q;return k|0}else if((b|0)==24|(b|0)==25){o=c[h>>2]|0;if((o|0)!=(g|0)?(d[o+ -1>>0]&95|0)!=(d[f>>0]&127|0):0){k=-1;i=q;return k|0}c[h>>2]=o+1;a[o>>0]=p;k=0;i=q;return k|0}else{g=p&95;if((g|0)==(a[f>>0]|0)?(a[f>>0]=g|128,(a[e>>0]|0)!=0):0){a[e>>0]=0;f=a[l>>0]|0;if((f&1)==0)l=(f&255)>>>1;else l=c[l+4>>2]|0;if((l|0)!=0?(r=c[n>>2]|0,(r-m|0)<160):0){k=c[o>>2]|0;c[n>>2]=r+4;c[r>>2]=k}}k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=p;if((b|0)>21){k=0;i=q;return k|0}c[o>>2]=(c[o>>2]|0)+1;k=0;i=q;return k|0}return 0}function Xm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=i;b=c[b+28>>2]|0;g=b+4|0;c[g>>2]=(c[g>>2]|0)+1;g=Vp(b,16712)|0;Ad[c[(c[g>>2]|0)+48>>2]&31](g,15248,15274|0,d)|0;d=Vp(b,16872)|0;c[e>>2]=ud[c[(c[d>>2]|0)+16>>2]&127](d)|0;rd[c[(c[d>>2]|0)+20>>2]&127](a,d);e=b+4|0;d=c[e>>2]|0;c[e>>2]=d+ -1;if((d|0)!=0){i=f;return}qd[c[(c[b>>2]|0)+8>>2]&255](b);i=f;return}function Ym(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=i;b=c[b+28>>2]|0;h=b+4|0;c[h>>2]=(c[h>>2]|0)+1;h=Vp(b,16712)|0;Ad[c[(c[h>>2]|0)+48>>2]&31](h,15248,15280|0,d)|0;d=Vp(b,16872)|0;c[e>>2]=ud[c[(c[d>>2]|0)+12>>2]&127](d)|0;c[f>>2]=ud[c[(c[d>>2]|0)+16>>2]&127](d)|0;rd[c[(c[d>>2]|0)+20>>2]&127](a,d);e=b+4|0;d=c[e>>2]|0;c[e>>2]=d+ -1;if((d|0)!=0){i=g;return}qd[c[(c[b>>2]|0)+8>>2]&255](b);i=g;return}function Zm(b,e,f,g,h,j,k,l,m,n,o,p){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0;q=i;if((b|0)==(j|0)){if((a[e>>0]|0)==0){k=-1;i=q;return k|0}a[e>>0]=0;k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=46;h=a[l>>0]|0;if((h&1)==0)h=(h&255)>>>1;else h=c[l+4>>2]|0;if((h|0)==0){k=0;i=q;return k|0}h=c[n>>2]|0;if((h-m|0)>=160){k=0;i=q;return k|0}k=c[o>>2]|0;c[n>>2]=h+4;c[h>>2]=k;k=0;i=q;return k|0}if((b|0)==(k|0)){j=a[l>>0]|0;if((j&1)==0)j=(j&255)>>>1;else j=c[l+4>>2]|0;if((j|0)!=0){if((a[e>>0]|0)==0){k=-1;i=q;return k|0}h=c[n>>2]|0;if((h-m|0)>=160){k=0;i=q;return k|0}k=c[o>>2]|0;c[n>>2]=h+4;c[h>>2]=k;c[o>>2]=0;k=0;i=q;return k|0}}j=p+128|0;k=p;do{if((c[k>>2]|0)==(b|0)){j=k;break}k=k+4|0}while((k|0)!=(j|0));b=j-p|0;j=b>>2;if((b|0)>124){k=-1;i=q;return k|0}p=a[15248+j>>0]|0;if((j|0)==23|(j|0)==22)a[f>>0]=80;else if(!((j|0)==24|(j|0)==25)){g=p&95;if((g|0)==(a[f>>0]|0)?(a[f>>0]=g|128,(a[e>>0]|0)!=0):0){a[e>>0]=0;f=a[l>>0]|0;if((f&1)==0)l=(f&255)>>>1;else l=c[l+4>>2]|0;if((l|0)!=0?(r=c[n>>2]|0,(r-m|0)<160):0){k=c[o>>2]|0;c[n>>2]=r+4;c[r>>2]=k}}}else{o=c[h>>2]|0;if((o|0)!=(g|0)?(d[o+ -1>>0]&95|0)!=(d[f>>0]&127|0):0){k=-1;i=q;return k|0}c[h>>2]=o+1;a[o>>0]=p;k=0;i=q;return k|0}k=c[h>>2]|0;c[h>>2]=k+1;a[k>>0]=p;if((b|0)>84){k=0;i=q;return k|0}c[o>>2]=(c[o>>2]|0)+1;k=0;i=q;return k|0}function _m(a){a=a|0;var b=0;b=i;Us(a);i=b;return}function $m(a){a=a|0;return}function an(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0;j=i;i=i+32|0;l=j+16|0;m=j+12|0;k=j;if((c[f+4>>2]&1|0)==0){n=c[(c[d>>2]|0)+24>>2]|0;c[m>>2]=c[e>>2];o=h&1;c[l+0>>2]=c[m+0>>2];Cd[n&63](b,d,l,f,g,o);i=j;return}l=c[f+28>>2]|0;d=l+4|0;c[d>>2]=(c[d>>2]|0)+1;d=Vp(l,16864)|0;n=l+4|0;o=c[n>>2]|0;c[n>>2]=o+ -1;if((o|0)==0)qd[c[(c[l>>2]|0)+8>>2]&255](l);l=c[d>>2]|0;if(h)rd[c[l+24>>2]&127](k,d);else rd[c[l+28>>2]&127](k,d);f=a[k>>0]|0;if((f&1)==0){h=k+1|0;d=k+8|0;m=h}else{m=k+8|0;d=m;m=c[m>>2]|0;h=k+1|0}l=k+4|0;while(1){g=(f&1)==0;if(g){f=(f&255)>>>1;n=h}else{f=c[l>>2]|0;n=c[d>>2]|0}if((m|0)==(n+f|0))break;n=a[m>>0]|0;f=c[e>>2]|0;do if((f|0)!=0){o=f+24|0;g=c[o>>2]|0;if((g|0)!=(c[f+28>>2]|0)){c[o>>2]=g+1;a[g>>0]=n;break}if((Dd[c[(c[f>>2]|0)+52>>2]&127](f,n&255)|0)==-1)c[e>>2]=0}while(0);f=a[k>>0]|0;m=m+1|0}c[b>>2]=c[e>>2];if(g){i=j;return}Us(c[k+8>>2]|0);i=j;return}function bn(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;l=i;i=i+64|0;p=l;r=l+16|0;n=l+24|0;d=l+36|0;m=l+8|0;k=l+4|0;o=l+12|0;a[r+0>>0]=a[15528]|0;a[r+1>>0]=a[15529]|0;a[r+2>>0]=a[15530]|0;a[r+3>>0]=a[15531]|0;a[r+4>>0]=a[15532]|0;a[r+5>>0]=a[15533]|0;q=f+4|0;cn(r+1|0,15432,1,c[q>>2]|0);s=Em()|0;c[p>>2]=h;p=dn(n,12,s,r,p)|0;h=n+p|0;q=c[q>>2]&176;do if((q|0)==32)p=h;else if((q|0)==16){q=a[n>>0]|0;if(q<<24>>24==43|q<<24>>24==45){p=n+1|0;break}if((p|0)>1&q<<24>>24==48?(s=a[n+1>>0]|0,s<<24>>24==88|s<<24>>24==120):0)p=n+2|0;else j=7}else j=7;while(0);if((j|0)==7)p=n;j=c[f+28>>2]|0;c[o>>2]=j;j=j+4|0;c[j>>2]=(c[j>>2]|0)+1;en(n,p,h,d,m,k,o);j=c[o>>2]|0;r=j+4|0;s=c[r>>2]|0;c[r>>2]=s+ -1;if((s|0)!=0){q=c[e>>2]|0;r=c[m>>2]|0;s=c[k>>2]|0;fn(b,q,d,r,s,f,g);i=l;return}qd[c[(c[j>>2]|0)+8>>2]&255](j);q=c[e>>2]|0;r=c[m>>2]|0;s=c[k>>2]|0;fn(b,q,d,r,s,f,g);i=l;return}function cn(b,c,d,e){b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=i;if((e&2048|0)!=0){a[b>>0]=43;b=b+1|0}if((e&512|0)!=0){a[b>>0]=35;b=b+1|0}g=a[c>>0]|0;if(!(g<<24>>24==0))while(1){c=c+1|0;h=b+1|0;a[b>>0]=g;g=a[c>>0]|0;if(g<<24>>24==0){b=h;break}else b=h}c=e&74;if((c|0)==8)if((e&16384|0)==0){a[b>>0]=120;i=f;return}else{a[b>>0]=88;i=f;return}else if((c|0)!=64)if(d){a[b>>0]=100;i=f;return}else{a[b>>0]=117;i=f;return}else{a[b>>0]=111;i=f;return}}function dn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=i;i=i+16|0;h=g;c[h>>2]=f;d=bc(d|0)|0;e=gt(a,b,e,h)|0;if((d|0)==0){i=g;return e|0}bc(d|0)|0;i=g;return e|0}function en(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;l=i;i=i+16|0;k=l;n=Vp(c[j>>2]|0,16720)|0;o=Vp(c[j>>2]|0,16864)|0;rd[c[(c[o>>2]|0)+20>>2]&127](k,o);j=a[k>>0]|0;if((j&1)==0)j=(j&255)>>>1;else j=c[k+4>>2]|0;if((j|0)!=0){c[h>>2]=f;j=a[b>>0]|0;if(j<<24>>24==43|j<<24>>24==45){v=Dd[c[(c[n>>2]|0)+28>>2]&127](n,j)|0;j=c[h>>2]|0;c[h>>2]=j+1;a[j>>0]=v;j=b+1|0}else j=b;if(((e-j|0)>1?(a[j>>0]|0)==48:0)?(q=j+1|0,v=a[q>>0]|0,v<<24>>24==88|v<<24>>24==120):0){v=Dd[c[(c[n>>2]|0)+28>>2]&127](n,48)|0;u=c[h>>2]|0;c[h>>2]=u+1;a[u>>0]=v;u=Dd[c[(c[n>>2]|0)+28>>2]&127](n,a[q>>0]|0)|0;v=c[h>>2]|0;c[h>>2]=v+1;a[v>>0]=u;j=j+2|0}if((j|0)!=(e|0)?(p=e+ -1|0,p>>>0>j>>>0):0){q=j;do{v=a[q>>0]|0;a[q>>0]=a[p>>0]|0;a[p>>0]=v;q=q+1|0;p=p+ -1|0}while(q>>>0<p>>>0)}s=ud[c[(c[o>>2]|0)+16>>2]&127](o)|0;if(j>>>0<e>>>0){o=k+1|0;r=k+4|0;p=k+8|0;u=0;t=0;q=j;while(1){v=a[((a[k>>0]&1)==0?o:c[p>>2]|0)+t>>0]|0;if(v<<24>>24!=0&(u|0)==(v<<24>>24|0)){u=c[h>>2]|0;c[h>>2]=u+1;a[u>>0]=s;u=a[k>>0]|0;if((u&1)==0)v=(u&255)>>>1;else v=c[r>>2]|0;u=0;t=(t>>>0<(v+ -1|0)>>>0&1)+t|0}w=Dd[c[(c[n>>2]|0)+28>>2]&127](n,a[q>>0]|0)|0;v=c[h>>2]|0;c[h>>2]=v+1;a[v>>0]=w;q=q+1|0;if(!(q>>>0<e>>>0))break;else u=u+1|0}}j=f+(j-b)|0;n=c[h>>2]|0;if((j|0)!=(n|0)?(m=n+ -1|0,m>>>0>j>>>0):0)do{w=a[j>>0]|0;a[j>>0]=a[m>>0]|0;a[m>>0]=w;j=j+1|0;m=m+ -1|0}while(j>>>0<m>>>0)}else{Ad[c[(c[n>>2]|0)+32>>2]&31](n,b,e,f)|0;c[h>>2]=f+(e-b)}if((d|0)==(e|0))f=c[h>>2]|0;else f=f+(d-b)|0;c[g>>2]=f;if((a[k>>0]&1)==0){i=l;return}Us(c[k+8>>2]|0);i=l;return}function fn(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0;k=i;i=i+16|0;l=k;if((d|0)==0){c[b>>2]=0;i=k;return}o=e;n=g-o|0;h=h+12|0;m=c[h>>2]|0;n=(m|0)>(n|0)?m-n|0:0;m=f;o=m-o|0;if((o|0)>0?(md[c[(c[d>>2]|0)+48>>2]&63](d,e,o)|0)!=(o|0):0){c[b>>2]=0;i=k;return}do if((n|0)>0){Kk(l,n,j);if((a[l>>0]&1)==0)e=l+1|0;else e=c[l+8>>2]|0;if((md[c[(c[d>>2]|0)+48>>2]&63](d,e,n)|0)==(n|0)){if((a[l>>0]&1)==0)break;Us(c[l+8>>2]|0);break}c[b>>2]=0;if((a[l>>0]&1)==0){i=k;return}Us(c[l+8>>2]|0);i=k;return}while(0);l=g-m|0;if((l|0)>0?(md[c[(c[d>>2]|0)+48>>2]&63](d,f,l)|0)!=(l|0):0){c[b>>2]=0;i=k;return}c[h>>2]=0;c[b>>2]=d;i=k;return}function gn(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;k=i;i=i+96|0;m=k+8|0;r=k;p=k+64|0;n=k+60|0;d=k+56|0;o=k+52|0;q=r;c[q>>2]=37;c[q+4>>2]=0;q=f+4|0;cn(r+1|0,15440,1,c[q>>2]|0);s=Em()|0;t=m;c[t>>2]=h;c[t+4>>2]=j;h=dn(p,22,s,r,m)|0;j=p+h|0;q=c[q>>2]&176;do if((q|0)==32)h=j;else if((q|0)==16){q=a[p>>0]|0;if(q<<24>>24==43|q<<24>>24==45){h=p+1|0;break}if((h|0)>1&q<<24>>24==48?(t=a[p+1>>0]|0,t<<24>>24==88|t<<24>>24==120):0)h=p+2|0;else l=7}else l=7;while(0);if((l|0)==7)h=p;l=c[f+28>>2]|0;c[o>>2]=l;l=l+4|0;c[l>>2]=(c[l>>2]|0)+1;en(p,h,j,m,n,d,o);l=c[o>>2]|0;s=l+4|0;t=c[s>>2]|0;c[s>>2]=t+ -1;if((t|0)!=0){r=c[e>>2]|0;s=c[n>>2]|0;t=c[d>>2]|0;fn(b,r,m,s,t,f,g);i=k;return}qd[c[(c[l>>2]|0)+8>>2]&255](l);r=c[e>>2]|0;s=c[n>>2]|0;t=c[d>>2]|0;fn(b,r,m,s,t,f,g);i=k;return}function hn(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;l=i;i=i+64|0;p=l;r=l+16|0;n=l+24|0;d=l+36|0;m=l+8|0;k=l+4|0;o=l+12|0;a[r+0>>0]=a[15528]|0;a[r+1>>0]=a[15529]|0;a[r+2>>0]=a[15530]|0;a[r+3>>0]=a[15531]|0;a[r+4>>0]=a[15532]|0;a[r+5>>0]=a[15533]|0;q=f+4|0;cn(r+1|0,15432,0,c[q>>2]|0);s=Em()|0;c[p>>2]=h;p=dn(n,12,s,r,p)|0;h=n+p|0;q=c[q>>2]&176;do if((q|0)==16){q=a[n>>0]|0;if(q<<24>>24==43|q<<24>>24==45){p=n+1|0;break}if((p|0)>1&q<<24>>24==48?(s=a[n+1>>0]|0,s<<24>>24==88|s<<24>>24==120):0)p=n+2|0;else j=7}else if((q|0)==32)p=h;else j=7;while(0);if((j|0)==7)p=n;j=c[f+28>>2]|0;c[o>>2]=j;j=j+4|0;c[j>>2]=(c[j>>2]|0)+1;en(n,p,h,d,m,k,o);j=c[o>>2]|0;r=j+4|0;s=c[r>>2]|0;c[r>>2]=s+ -1;if((s|0)!=0){q=c[e>>2]|0;r=c[m>>2]|0;s=c[k>>2]|0;fn(b,q,d,r,s,f,g);i=l;return}qd[c[(c[j>>2]|0)+8>>2]&255](j);q=c[e>>2]|0;r=c[m>>2]|0;s=c[k>>2]|0;fn(b,q,d,r,s,f,g);i=l;return}function jn(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;k=i;i=i+96|0;m=k+8|0;r=k;p=k+64|0;n=k+60|0;d=k+56|0;o=k+52|0;q=r;c[q>>2]=37;c[q+4>>2]=0;q=f+4|0;cn(r+1|0,15440,0,c[q>>2]|0);s=Em()|0;t=m;c[t>>2]=h;c[t+4>>2]=j;h=dn(p,23,s,r,m)|0;j=p+h|0;q=c[q>>2]&176;do if((q|0)==32)h=j;else if((q|0)==16){q=a[p>>0]|0;if(q<<24>>24==43|q<<24>>24==45){h=p+1|0;break}if((h|0)>1&q<<24>>24==48?(t=a[p+1>>0]|0,t<<24>>24==88|t<<24>>24==120):0)h=p+2|0;else l=7}else l=7;while(0);if((l|0)==7)h=p;l=c[f+28>>2]|0;c[o>>2]=l;l=l+4|0;c[l>>2]=(c[l>>2]|0)+1;en(p,h,j,m,n,d,o);l=c[o>>2]|0;s=l+4|0;t=c[s>>2]|0;c[s>>2]=t+ -1;if((t|0)!=0){r=c[e>>2]|0;s=c[n>>2]|0;t=c[d>>2]|0;fn(b,r,m,s,t,f,g);i=k;return}qd[c[(c[l>>2]|0)+8>>2]&255](l);r=c[e>>2]|0;s=c[n>>2]|0;t=c[d>>2]|0;fn(b,r,m,s,t,f,g);i=k;return}function kn(b,d,e,f,g,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=+j;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;m=i;i=i+128|0;p=m;u=m+64|0;s=m+92|0;r=m+80|0;n=m+76|0;d=m+72|0;o=m+84|0;l=m+88|0;t=u;c[t>>2]=37;c[t+4>>2]=0;t=f+4|0;w=ln(u+1|0,15448,c[t>>2]|0)|0;c[r>>2]=s;v=Em()|0;if(w){c[p>>2]=c[f+8>>2];w=p+4|0;h[k>>3]=j;c[w>>2]=c[k>>2];c[w+4>>2]=c[k+4>>2];w=dn(s,30,v,u,p)|0}else{h[k>>3]=j;c[p>>2]=c[k>>2];c[p+4>>2]=c[k+4>>2];w=dn(s,30,v,u,p)|0}if((w|0)>29){w=Em()|0;c[p>>2]=c[f+8>>2];v=p+4|0;h[k>>3]=j;c[v>>2]=c[k>>2];c[v+4>>2]=c[k+4>>2];w=mn(r,w,u,p)|0;u=c[r>>2]|0;if((u|0)==0){w=_b(4)|0;c[w>>2]=24928;ed(w|0,24976,117)}else{r=u;v=u}}else{r=0;v=s}u=v+w|0;t=c[t>>2]&176;do if((t|0)==32)t=u;else if((t|0)==16){t=a[v>>0]|0;if(t<<24>>24==43|t<<24>>24==45){t=v+1|0;break}if((w|0)>1&t<<24>>24==48?(t=a[v+1>>0]|0,t<<24>>24==88|t<<24>>24==120):0)t=v+2|0;else q=13}else q=13;while(0);if((q|0)==13)t=v;if((v|0)!=(s|0)){p=Ts(w<<1)|0;if((p|0)==0){w=_b(4)|0;c[w>>2]=24928;ed(w|0,24976,117)}else{s=v;q=p}}else q=0;v=c[f+28>>2]|0;c[o>>2]=v;v=v+4|0;c[v>>2]=(c[v>>2]|0)+1;nn(s,t,u,p,n,d,o);o=c[o>>2]|0;v=o+4|0;w=c[v>>2]|0;c[v>>2]=w+ -1;if((w|0)==0)qd[c[(c[o>>2]|0)+8>>2]&255](o);fn(l,c[e>>2]|0,p,c[n>>2]|0,c[d>>2]|0,f,g);w=c[l>>2]|0;c[e>>2]=w;c[b>>2]=w;if((q|0)!=0)Us(q);if((r|0)==0){i=m;return}Us(r);i=m;return}function ln(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;if((d&2048|0)!=0){a[b>>0]=43;b=b+1|0}if((d&1024|0)!=0){a[b>>0]=35;b=b+1|0}f=d&260;h=d>>>14;d=(f|0)==260;if(d)g=0;else{a[b>>0]=46;a[b+1>>0]=42;b=b+2|0;g=1}j=a[c>>0]|0;if(!(j<<24>>24==0))while(1){c=c+1|0;k=b+1|0;a[b>>0]=j;j=a[c>>0]|0;if(j<<24>>24==0){b=k;break}else b=k}do if((f|0)==4)if((h&1|0)==0){a[b>>0]=102;break}else{a[b>>0]=70;break}else if((f|0)==256)if((h&1|0)==0){a[b>>0]=101;break}else{a[b>>0]=69;break}else{f=(h&1|0)!=0;if(d)if(f){a[b>>0]=65;break}else{a[b>>0]=97;break}else if(f){a[b>>0]=71;break}else{a[b>>0]=103;break}}while(0);i=e;return g|0}function mn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;i=i+32|0;k=f+16|0;j=f;c[j>>2]=e;b=bc(b|0)|0;e=Ts(240)|0;do if((e|0)!=0){c[k>>2]=c[j>>2];k=gt(e,240,d,k)|0;if(k>>>0<240){j=Vs(e,k+1|0)|0;c[a>>2]=(j|0)!=0?j:e;break}Us(e);if((k|0)>=0?(g=k+1|0,h=Ts(g)|0,c[a>>2]=h,(h|0)!=0):0)k=gt(h,g,d,j)|0;else k=-1}else k=-1;while(0);if((b|0)==0){i=f;return k|0}bc(b|0)|0;i=f;return k|0}function nn(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;k=i;i=i+16|0;l=k;m=Vp(c[j>>2]|0,16720)|0;j=Vp(c[j>>2]|0,16864)|0;rd[c[(c[j>>2]|0)+20>>2]&127](l,j);c[h>>2]=f;n=a[b>>0]|0;if(n<<24>>24==43|n<<24>>24==45){y=Dd[c[(c[m>>2]|0)+28>>2]&127](m,n)|0;t=c[h>>2]|0;c[h>>2]=t+1;a[t>>0]=y;t=b+1|0}else t=b;n=e;a:do if(((n-t|0)>1?(a[t>>0]|0)==48:0)?(p=t+1|0,y=a[p>>0]|0,y<<24>>24==88|y<<24>>24==120):0){y=Dd[c[(c[m>>2]|0)+28>>2]&127](m,48)|0;x=c[h>>2]|0;c[h>>2]=x+1;a[x>>0]=y;t=t+2|0;x=Dd[c[(c[m>>2]|0)+28>>2]&127](m,a[p>>0]|0)|0;y=c[h>>2]|0;c[h>>2]=y+1;a[y>>0]=x;if(t>>>0<e>>>0){q=t;while(1){y=a[q>>0]|0;Em()|0;y=y<<24>>24;if(!((y+ -48|0)>>>0<10)?!(((y|32)+ -97|0)>>>0<6):0){p=t;break a}q=q+1|0;if(!(q>>>0<e>>>0)){p=t;break}}}else{p=t;q=t}}else s=4;while(0);b:do if((s|0)==4)if(t>>>0<e>>>0){q=t;while(1){y=a[q>>0]|0;Em()|0;s=q+1|0;if(!(((y<<24>>24)+ -48|0)>>>0<10)){p=t;break b}if(s>>>0<e>>>0)q=s;else{p=t;q=s;break}}}else{p=t;q=t}while(0);s=a[l>>0]|0;if((s&1)==0)s=(s&255)>>>1;else s=c[l+4>>2]|0;if((s|0)!=0){if((p|0)!=(q|0)?(r=q+ -1|0,r>>>0>p>>>0):0){s=p;do{y=a[s>>0]|0;a[s>>0]=a[r>>0]|0;a[r>>0]=y;s=s+1|0;r=r+ -1|0}while(s>>>0<r>>>0)}u=ud[c[(c[j>>2]|0)+16>>2]&127](j)|0;if(p>>>0<q>>>0){r=l+1|0;s=l+4|0;t=l+8|0;x=0;w=0;v=p;while(1){y=a[((a[l>>0]&1)==0?r:c[t>>2]|0)+w>>0]|0;if(y<<24>>24>0&(x|0)==(y<<24>>24|0)){x=c[h>>2]|0;c[h>>2]=x+1;a[x>>0]=u;x=a[l>>0]|0;if((x&1)==0)y=(x&255)>>>1;else y=c[s>>2]|0;x=0;w=(w>>>0<(y+ -1|0)>>>0&1)+w|0}z=Dd[c[(c[m>>2]|0)+28>>2]&127](m,a[v>>0]|0)|0;y=c[h>>2]|0;c[h>>2]=y+1;a[y>>0]=z;v=v+1|0;if(!(v>>>0<q>>>0))break;else x=x+1|0}}r=f+(p-b)|0;p=c[h>>2]|0;if((r|0)!=(p|0)?(o=p+ -1|0,o>>>0>r>>>0):0)do{z=a[r>>0]|0;a[r>>0]=a[o>>0]|0;a[o>>0]=z;r=r+1|0;o=o+ -1|0}while(r>>>0<o>>>0)}else{Ad[c[(c[m>>2]|0)+32>>2]&31](m,p,q,c[h>>2]|0)|0;c[h>>2]=(c[h>>2]|0)+(q-p)}c:do if(q>>>0<e>>>0){while(1){o=a[q>>0]|0;if(o<<24>>24==46)break;y=Dd[c[(c[m>>2]|0)+28>>2]&127](m,o)|0;z=c[h>>2]|0;c[h>>2]=z+1;a[z>>0]=y;q=q+1|0;if(!(q>>>0<e>>>0))break c}y=ud[c[(c[j>>2]|0)+12>>2]&127](j)|0;z=c[h>>2]|0;c[h>>2]=z+1;a[z>>0]=y;q=q+1|0}while(0);Ad[c[(c[m>>2]|0)+32>>2]&31](m,q,e,c[h>>2]|0)|0;m=(c[h>>2]|0)+(n-q)|0;c[h>>2]=m;if((d|0)!=(e|0))m=f+(d-b)|0;c[g>>2]=m;if((a[l>>0]&1)==0){i=k;return}Us(c[l+8>>2]|0);i=k;return}function on(b,d,e,f,g,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=+j;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;m=i;i=i+128|0;p=m;v=m+64|0;r=m+92|0;s=m+80|0;d=m+76|0;l=m+72|0;o=m+84|0;n=m+88|0;t=v;c[t>>2]=37;c[t+4>>2]=0;t=f+4|0;w=ln(v+1|0,15456,c[t>>2]|0)|0;c[s>>2]=r;u=Em()|0;if(w){c[p>>2]=c[f+8>>2];x=p+4|0;h[k>>3]=j;c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];u=dn(r,30,u,v,p)|0}else{h[k>>3]=j;c[p>>2]=c[k>>2];c[p+4>>2]=c[k+4>>2];u=dn(r,30,u,v,p)|0}if((u|0)>29){u=Em()|0;if(w){c[p>>2]=c[f+8>>2];w=p+4|0;h[k>>3]=j;c[w>>2]=c[k>>2];c[w+4>>2]=c[k+4>>2];w=mn(s,u,v,p)|0}else{h[k>>3]=j;c[p>>2]=c[k>>2];c[p+4>>2]=c[k+4>>2];w=mn(s,u,v,p)|0}u=c[s>>2]|0;if((u|0)==0){x=_b(4)|0;c[x>>2]=24928;ed(x|0,24976,117)}else{s=u;v=u}}else{s=0;v=r;w=u}u=v+w|0;t=c[t>>2]&176;do if((t|0)==16){t=a[v>>0]|0;if(t<<24>>24==43|t<<24>>24==45){t=v+1|0;break}if((w|0)>1&t<<24>>24==48?(x=a[v+1>>0]|0,x<<24>>24==88|x<<24>>24==120):0)t=v+2|0;else q=16}else if((t|0)==32)t=u;else q=16;while(0);if((q|0)==16)t=v;if((v|0)!=(r|0)){p=Ts(w<<1)|0;if((p|0)==0){x=_b(4)|0;c[x>>2]=24928;ed(x|0,24976,117)}else{r=v;q=p}}else q=0;w=c[f+28>>2]|0;c[o>>2]=w;w=w+4|0;c[w>>2]=(c[w>>2]|0)+1;nn(r,t,u,p,d,l,o);o=c[o>>2]|0;w=o+4|0;x=c[w>>2]|0;c[w>>2]=x+ -1;if((x|0)!=0){v=c[e>>2]|0;w=c[d>>2]|0;x=c[l>>2]|0;fn(n,v,p,w,x,f,g);x=c[n>>2]|0;c[b>>2]=x;Us(q);Us(s);i=m;return}qd[c[(c[o>>2]|0)+8>>2]&255](o);v=c[e>>2]|0;w=c[d>>2]|0;x=c[l>>2]|0;fn(n,v,p,w,x,f,g);x=c[n>>2]|0;c[b>>2]=x;Us(q);Us(s);i=m;return}function pn(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=i;i=i+80|0;k=j;m=j+60|0;d=j+40|0;a[m+0>>0]=a[15536]|0;a[m+1>>0]=a[15537]|0;a[m+2>>0]=a[15538]|0;a[m+3>>0]=a[15539]|0;a[m+4>>0]=a[15540]|0;a[m+5>>0]=a[15541]|0;n=Em()|0;c[k>>2]=h;m=dn(d,20,n,m,k)|0;h=d+m|0;n=c[f+4>>2]&176;do if((n|0)==16){n=a[d>>0]|0;if(n<<24>>24==43|n<<24>>24==45){n=d+1|0;break}if((m|0)>1&n<<24>>24==48?(o=a[d+1>>0]|0,o<<24>>24==88|o<<24>>24==120):0)n=d+2|0;else l=7}else if((n|0)==32)n=h;else l=7;while(0);if((l|0)==7)n=d;l=c[f+28>>2]|0;o=l+4|0;c[o>>2]=(c[o>>2]|0)+1;o=Vp(l,16720)|0;q=l+4|0;p=c[q>>2]|0;c[q>>2]=p+ -1;if((p|0)==0)qd[c[(c[l>>2]|0)+8>>2]&255](l);Ad[c[(c[o>>2]|0)+32>>2]&31](o,d,h,k)|0;l=k+m|0;if((n|0)==(h|0)){q=l;p=c[e>>2]|0;fn(b,p,k,q,l,f,g);i=j;return}q=k+(n-d)|0;p=c[e>>2]|0;fn(b,p,k,q,l,f,g);i=j;return}function qn(a){a=a|0;var b=0;b=i;Us(a);i=b;return}function rn(a){a=a|0;return}function sn(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0;j=i;i=i+32|0;l=j+16|0;m=j+12|0;k=j;if((c[f+4>>2]&1|0)==0){k=c[(c[d>>2]|0)+24>>2]|0;c[m>>2]=c[e>>2];n=h&1;c[l+0>>2]=c[m+0>>2];Cd[k&63](b,d,l,f,g,n);i=j;return}d=c[f+28>>2]|0;l=d+4|0;c[l>>2]=(c[l>>2]|0)+1;l=Vp(d,16872)|0;g=d+4|0;n=c[g>>2]|0;c[g>>2]=n+ -1;if((n|0)==0)qd[c[(c[d>>2]|0)+8>>2]&255](d);d=c[l>>2]|0;if(h)rd[c[d+24>>2]&127](k,l);else rd[c[d+28>>2]&127](k,l);m=a[k>>0]|0;if((m&1)==0){d=k+4|0;l=d;h=k+8|0}else{d=k+8|0;l=k+4|0;h=d;d=c[d>>2]|0}while(1){f=(m&1)==0;if(f){m=(m&255)>>>1;g=l}else{m=c[l>>2]|0;g=c[h>>2]|0}if((d|0)==(g+(m<<2)|0))break;n=c[d>>2]|0;f=c[e>>2]|0;if((f|0)!=0){m=f+24|0;g=c[m>>2]|0;if((g|0)==(c[f+28>>2]|0))n=Dd[c[(c[f>>2]|0)+52>>2]&127](f,n)|0;else{c[m>>2]=g+4;c[g>>2]=n}if((n|0)==-1)c[e>>2]=0}m=a[k>>0]|0;d=d+4|0}c[b>>2]=c[e>>2];if(f){i=j;return}Us(c[k+8>>2]|0);i=j;return}function tn(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;l=i;i=i+128|0;d=l;p=l+108|0;n=l+96|0;m=l+92|0;k=l+88|0;o=l+84|0;a[p+0>>0]=a[15528]|0;a[p+1>>0]=a[15529]|0;a[p+2>>0]=a[15530]|0;a[p+3>>0]=a[15531]|0;a[p+4>>0]=a[15532]|0;a[p+5>>0]=a[15533]|0;q=f+4|0;cn(p+1|0,15432,1,c[q>>2]|0);r=Em()|0;c[d>>2]=h;p=dn(n,12,r,p,d)|0;h=n+p|0;q=c[q>>2]&176;do if((q|0)==32)p=h;else if((q|0)==16){q=a[n>>0]|0;if(q<<24>>24==43|q<<24>>24==45){p=n+1|0;break}if((p|0)>1&q<<24>>24==48?(r=a[n+1>>0]|0,r<<24>>24==88|r<<24>>24==120):0)p=n+2|0;else j=7}else j=7;while(0);if((j|0)==7)p=n;j=c[f+28>>2]|0;c[o>>2]=j;j=j+4|0;c[j>>2]=(c[j>>2]|0)+1;un(n,p,h,d,m,k,o);j=c[o>>2]|0;q=j+4|0;r=c[q>>2]|0;c[q>>2]=r+ -1;if((r|0)!=0){p=c[e>>2]|0;q=c[m>>2]|0;r=c[k>>2]|0;vn(b,p,d,q,r,f,g);i=l;return}qd[c[(c[j>>2]|0)+8>>2]&255](j);p=c[e>>2]|0;q=c[m>>2]|0;r=c[k>>2]|0;vn(b,p,d,q,r,f,g);i=l;return}function un(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;l=i;i=i+16|0;k=l;n=Vp(c[j>>2]|0,16712)|0;p=Vp(c[j>>2]|0,16872)|0;rd[c[(c[p>>2]|0)+20>>2]&127](k,p);j=a[k>>0]|0;if((j&1)==0)j=(j&255)>>>1;else j=c[k+4>>2]|0;if((j|0)!=0){c[h>>2]=f;j=a[b>>0]|0;if(j<<24>>24==43|j<<24>>24==45){v=Dd[c[(c[n>>2]|0)+44>>2]&127](n,j)|0;j=c[h>>2]|0;c[h>>2]=j+4;c[j>>2]=v;j=b+1|0}else j=b;if(((e-j|0)>1?(a[j>>0]|0)==48:0)?(q=j+1|0,v=a[q>>0]|0,v<<24>>24==88|v<<24>>24==120):0){v=Dd[c[(c[n>>2]|0)+44>>2]&127](n,48)|0;u=c[h>>2]|0;c[h>>2]=u+4;c[u>>2]=v;u=Dd[c[(c[n>>2]|0)+44>>2]&127](n,a[q>>0]|0)|0;v=c[h>>2]|0;c[h>>2]=v+4;c[v>>2]=u;j=j+2|0}if((j|0)!=(e|0)?(o=e+ -1|0,o>>>0>j>>>0):0){q=j;do{v=a[q>>0]|0;a[q>>0]=a[o>>0]|0;a[o>>0]=v;q=q+1|0;o=o+ -1|0}while(q>>>0<o>>>0)}s=ud[c[(c[p>>2]|0)+16>>2]&127](p)|0;if(j>>>0<e>>>0){o=k+1|0;r=k+4|0;p=k+8|0;u=0;t=0;q=j;while(1){v=a[((a[k>>0]&1)==0?o:c[p>>2]|0)+t>>0]|0;if(v<<24>>24!=0&(u|0)==(v<<24>>24|0)){u=c[h>>2]|0;c[h>>2]=u+4;c[u>>2]=s;u=a[k>>0]|0;if((u&1)==0)v=(u&255)>>>1;else v=c[r>>2]|0;u=0;t=(t>>>0<(v+ -1|0)>>>0&1)+t|0}x=Dd[c[(c[n>>2]|0)+44>>2]&127](n,a[q>>0]|0)|0;w=c[h>>2]|0;v=w+4|0;c[h>>2]=v;c[w>>2]=x;q=q+1|0;if(!(q>>>0<e>>>0))break;else u=u+1|0}}else v=c[h>>2]|0;n=f+(j-b<<2)|0;if((n|0)!=(v|0)?(m=v+ -4|0,m>>>0>n>>>0):0)do{x=c[n>>2]|0;c[n>>2]=c[m>>2];c[m>>2]=x;n=n+4|0;m=m+ -4|0}while(n>>>0<m>>>0)}else{Ad[c[(c[n>>2]|0)+48>>2]&31](n,b,e,f)|0;v=f+(e-b<<2)|0;c[h>>2]=v}if((d|0)!=(e|0))v=f+(d-b<<2)|0;c[g>>2]=v;if((a[k>>0]&1)==0){i=l;return}Us(c[k+8>>2]|0);i=l;return}function vn(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0;k=i;i=i+16|0;l=k;if((d|0)==0){c[b>>2]=0;i=k;return}p=e;n=g-p>>2;h=h+12|0;m=c[h>>2]|0;n=(m|0)>(n|0)?m-n|0:0;m=f;p=m-p|0;o=p>>2;if((p|0)>0?(md[c[(c[d>>2]|0)+48>>2]&63](d,e,o)|0)!=(o|0):0){c[b>>2]=0;i=k;return}do if((n|0)>0){Vk(l,n,j);if((a[l>>0]&1)==0)e=l+4|0;else e=c[l+8>>2]|0;if((md[c[(c[d>>2]|0)+48>>2]&63](d,e,n)|0)==(n|0)){if((a[l>>0]&1)==0)break;Us(c[l+8>>2]|0);break}c[b>>2]=0;if((a[l>>0]&1)==0){i=k;return}Us(c[l+8>>2]|0);i=k;return}while(0);p=g-m|0;l=p>>2;if((p|0)>0?(md[c[(c[d>>2]|0)+48>>2]&63](d,f,l)|0)!=(l|0):0){c[b>>2]=0;i=k;return}c[h>>2]=0;c[b>>2]=d;i=k;return}function wn(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;k=i;i=i+208|0;m=k+8|0;r=k;p=k+184|0;n=k+180|0;d=k+176|0;o=k+172|0;q=r;c[q>>2]=37;c[q+4>>2]=0;q=f+4|0;cn(r+1|0,15440,1,c[q>>2]|0);s=Em()|0;t=m;c[t>>2]=h;c[t+4>>2]=j;h=dn(p,22,s,r,m)|0;j=p+h|0;q=c[q>>2]&176;do if((q|0)==16){q=a[p>>0]|0;if(q<<24>>24==43|q<<24>>24==45){h=p+1|0;break}if((h|0)>1&q<<24>>24==48?(t=a[p+1>>0]|0,t<<24>>24==88|t<<24>>24==120):0)h=p+2|0;else l=7}else if((q|0)==32)h=j;else l=7;while(0);if((l|0)==7)h=p;l=c[f+28>>2]|0;c[o>>2]=l;l=l+4|0;c[l>>2]=(c[l>>2]|0)+1;un(p,h,j,m,n,d,o);l=c[o>>2]|0;s=l+4|0;t=c[s>>2]|0;c[s>>2]=t+ -1;if((t|0)!=0){r=c[e>>2]|0;s=c[n>>2]|0;t=c[d>>2]|0;vn(b,r,m,s,t,f,g);i=k;return}qd[c[(c[l>>2]|0)+8>>2]&255](l);r=c[e>>2]|0;s=c[n>>2]|0;t=c[d>>2]|0;vn(b,r,m,s,t,f,g);i=k;return}function xn(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;l=i;i=i+128|0;d=l;p=l+108|0;n=l+96|0;m=l+92|0;k=l+88|0;o=l+84|0;a[p+0>>0]=a[15528]|0;a[p+1>>0]=a[15529]|0;a[p+2>>0]=a[15530]|0;a[p+3>>0]=a[15531]|0;a[p+4>>0]=a[15532]|0;a[p+5>>0]=a[15533]|0;q=f+4|0;cn(p+1|0,15432,0,c[q>>2]|0);r=Em()|0;c[d>>2]=h;p=dn(n,12,r,p,d)|0;h=n+p|0;q=c[q>>2]&176;do if((q|0)==32)p=h;else if((q|0)==16){q=a[n>>0]|0;if(q<<24>>24==43|q<<24>>24==45){p=n+1|0;break}if((p|0)>1&q<<24>>24==48?(r=a[n+1>>0]|0,r<<24>>24==88|r<<24>>24==120):0)p=n+2|0;else j=7}else j=7;while(0);if((j|0)==7)p=n;j=c[f+28>>2]|0;c[o>>2]=j;j=j+4|0;c[j>>2]=(c[j>>2]|0)+1;un(n,p,h,d,m,k,o);j=c[o>>2]|0;q=j+4|0;r=c[q>>2]|0;c[q>>2]=r+ -1;if((r|0)!=0){p=c[e>>2]|0;q=c[m>>2]|0;r=c[k>>2]|0;vn(b,p,d,q,r,f,g);i=l;return}qd[c[(c[j>>2]|0)+8>>2]&255](j);p=c[e>>2]|0;q=c[m>>2]|0;r=c[k>>2]|0;vn(b,p,d,q,r,f,g);i=l;return}function yn(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;k=i;i=i+224|0;m=k+8|0;r=k;p=k+192|0;n=k+188|0;d=k+184|0;o=k+180|0;q=r;c[q>>2]=37;c[q+4>>2]=0;q=f+4|0;cn(r+1|0,15440,0,c[q>>2]|0);s=Em()|0;t=m;c[t>>2]=h;c[t+4>>2]=j;h=dn(p,23,s,r,m)|0;j=p+h|0;q=c[q>>2]&176;do if((q|0)==16){q=a[p>>0]|0;if(q<<24>>24==43|q<<24>>24==45){h=p+1|0;break}if((h|0)>1&q<<24>>24==48?(t=a[p+1>>0]|0,t<<24>>24==88|t<<24>>24==120):0)h=p+2|0;else l=7}else if((q|0)==32)h=j;else l=7;while(0);if((l|0)==7)h=p;l=c[f+28>>2]|0;c[o>>2]=l;l=l+4|0;c[l>>2]=(c[l>>2]|0)+1;un(p,h,j,m,n,d,o);l=c[o>>2]|0;s=l+4|0;t=c[s>>2]|0;c[s>>2]=t+ -1;if((t|0)!=0){r=c[e>>2]|0;s=c[n>>2]|0;t=c[d>>2]|0;vn(b,r,m,s,t,f,g);i=k;return}qd[c[(c[l>>2]|0)+8>>2]&255](l);r=c[e>>2]|0;s=c[n>>2]|0;t=c[d>>2]|0;vn(b,r,m,s,t,f,g);i=k;return}function zn(b,d,e,f,g,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=+j;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;l=i;i=i+304|0;p=l;t=l+232|0;s=l+260|0;r=l+248|0;n=l+244|0;m=l+240|0;o=l+252|0;d=l+256|0;u=t;c[u>>2]=37;c[u+4>>2]=0;u=f+4|0;w=ln(t+1|0,15448,c[u>>2]|0)|0;c[r>>2]=s;v=Em()|0;if(w){c[p>>2]=c[f+8>>2];w=p+4|0;h[k>>3]=j;c[w>>2]=c[k>>2];c[w+4>>2]=c[k+4>>2];w=dn(s,30,v,t,p)|0}else{h[k>>3]=j;c[p>>2]=c[k>>2];c[p+4>>2]=c[k+4>>2];w=dn(s,30,v,t,p)|0}if((w|0)>29){w=Em()|0;c[p>>2]=c[f+8>>2];v=p+4|0;h[k>>3]=j;c[v>>2]=c[k>>2];c[v+4>>2]=c[k+4>>2];w=mn(r,w,t,p)|0;t=c[r>>2]|0;if((t|0)==0){w=_b(4)|0;c[w>>2]=24928;ed(w|0,24976,117)}else{r=t;v=t}}else{r=0;v=s}t=v+w|0;u=c[u>>2]&176;do if((u|0)==16){u=a[v>>0]|0;if(u<<24>>24==43|u<<24>>24==45){u=v+1|0;break}if((w|0)>1&u<<24>>24==48?(u=a[v+1>>0]|0,u<<24>>24==88|u<<24>>24==120):0)u=v+2|0;else q=13}else if((u|0)==32)u=t;else q=13;while(0);if((q|0)==13)u=v;if((v|0)!=(s|0)){p=Ts(w<<3)|0;if((p|0)==0){w=_b(4)|0;c[w>>2]=24928;ed(w|0,24976,117)}else{s=v;q=p}}else q=0;v=c[f+28>>2]|0;c[o>>2]=v;v=v+4|0;c[v>>2]=(c[v>>2]|0)+1;An(s,u,t,p,n,m,o);o=c[o>>2]|0;v=o+4|0;w=c[v>>2]|0;c[v>>2]=w+ -1;if((w|0)==0)qd[c[(c[o>>2]|0)+8>>2]&255](o);vn(d,c[e>>2]|0,p,c[n>>2]|0,c[m>>2]|0,f,g);w=c[d>>2]|0;c[e>>2]=w;c[b>>2]=w;if((q|0)==0){Us(r);i=l;return}Us(q);Us(r);i=l;return}function An(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;l=i;i=i+16|0;k=l;m=Vp(c[j>>2]|0,16712)|0;n=Vp(c[j>>2]|0,16872)|0;rd[c[(c[n>>2]|0)+20>>2]&127](k,n);c[h>>2]=f;j=a[b>>0]|0;if(j<<24>>24==43|j<<24>>24==45){y=Dd[c[(c[m>>2]|0)+44>>2]&127](m,j)|0;t=c[h>>2]|0;c[h>>2]=t+4;c[t>>2]=y;t=b+1|0}else t=b;j=e;a:do if(((j-t|0)>1?(a[t>>0]|0)==48:0)?(p=t+1|0,y=a[p>>0]|0,y<<24>>24==88|y<<24>>24==120):0){y=Dd[c[(c[m>>2]|0)+44>>2]&127](m,48)|0;x=c[h>>2]|0;c[h>>2]=x+4;c[x>>2]=y;t=t+2|0;x=Dd[c[(c[m>>2]|0)+44>>2]&127](m,a[p>>0]|0)|0;y=c[h>>2]|0;c[h>>2]=y+4;c[y>>2]=x;if(t>>>0<e>>>0){q=t;while(1){y=a[q>>0]|0;Em()|0;y=y<<24>>24;if(!((y+ -48|0)>>>0<10)?!(((y|32)+ -97|0)>>>0<6):0){p=t;break a}q=q+1|0;if(!(q>>>0<e>>>0)){p=t;break}}}else{p=t;q=t}}else s=4;while(0);b:do if((s|0)==4)if(t>>>0<e>>>0){q=t;while(1){y=a[q>>0]|0;Em()|0;s=q+1|0;if(!(((y<<24>>24)+ -48|0)>>>0<10)){p=t;break b}if(s>>>0<e>>>0)q=s;else{p=t;q=s;break}}}else{p=t;q=t}while(0);s=a[k>>0]|0;if((s&1)==0)s=(s&255)>>>1;else s=c[k+4>>2]|0;if((s|0)!=0){if((p|0)!=(q|0)?(r=q+ -1|0,r>>>0>p>>>0):0){s=p;do{y=a[s>>0]|0;a[s>>0]=a[r>>0]|0;a[r>>0]=y;s=s+1|0;r=r+ -1|0}while(s>>>0<r>>>0)}t=ud[c[(c[n>>2]|0)+16>>2]&127](n)|0;if(p>>>0<q>>>0){r=k+1|0;s=k+4|0;v=k+8|0;x=0;w=0;u=p;while(1){y=a[((a[k>>0]&1)==0?r:c[v>>2]|0)+w>>0]|0;if(y<<24>>24>0&(x|0)==(y<<24>>24|0)){x=c[h>>2]|0;c[h>>2]=x+4;c[x>>2]=t;x=a[k>>0]|0;if((x&1)==0)y=(x&255)>>>1;else y=c[s>>2]|0;x=0;w=(w>>>0<(y+ -1|0)>>>0&1)+w|0}A=Dd[c[(c[m>>2]|0)+44>>2]&127](m,a[u>>0]|0)|0;z=c[h>>2]|0;y=z+4|0;c[h>>2]=y;c[z>>2]=A;u=u+1|0;if(!(u>>>0<q>>>0))break;else x=x+1|0}}else y=c[h>>2]|0;p=f+(p-b<<2)|0;if((p|0)!=(y|0)?(o=y+ -4|0,o>>>0>p>>>0):0)do{A=c[p>>2]|0;c[p>>2]=c[o>>2];c[o>>2]=A;p=p+4|0;o=o+ -4|0}while(p>>>0<o>>>0)}else{Ad[c[(c[m>>2]|0)+48>>2]&31](m,p,q,c[h>>2]|0)|0;y=(c[h>>2]|0)+(q-p<<2)|0;c[h>>2]=y}c:do if(q>>>0<e>>>0){while(1){o=a[q>>0]|0;if(o<<24>>24==46)break;z=Dd[c[(c[m>>2]|0)+44>>2]&127](m,o)|0;A=c[h>>2]|0;y=A+4|0;c[h>>2]=y;c[A>>2]=z;q=q+1|0;if(!(q>>>0<e>>>0))break c}z=ud[c[(c[n>>2]|0)+12>>2]&127](n)|0;A=c[h>>2]|0;y=A+4|0;c[h>>2]=y;c[A>>2]=z;q=q+1|0}while(0);Ad[c[(c[m>>2]|0)+48>>2]&31](m,q,e,y)|0;m=(c[h>>2]|0)+(j-q<<2)|0;c[h>>2]=m;if((d|0)!=(e|0))m=f+(d-b<<2)|0;c[g>>2]=m;if((a[k>>0]&1)==0){i=l;return}Us(c[k+8>>2]|0);i=l;return}function Bn(b,d,e,f,g,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;j=+j;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;m=i;i=i+304|0;p=m;w=m+232|0;r=m+260|0;s=m+248|0;n=m+244|0;d=m+240|0;o=m+252|0;l=m+256|0;t=w;c[t>>2]=37;c[t+4>>2]=0;t=f+4|0;v=ln(w+1|0,15456,c[t>>2]|0)|0;c[s>>2]=r;u=Em()|0;if(v){c[p>>2]=c[f+8>>2];x=p+4|0;h[k>>3]=j;c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];u=dn(r,30,u,w,p)|0}else{h[k>>3]=j;c[p>>2]=c[k>>2];c[p+4>>2]=c[k+4>>2];u=dn(r,30,u,w,p)|0}if((u|0)>29){u=Em()|0;if(v){c[p>>2]=c[f+8>>2];x=p+4|0;h[k>>3]=j;c[x>>2]=c[k>>2];c[x+4>>2]=c[k+4>>2];w=mn(s,u,w,p)|0}else{h[k>>3]=j;c[p>>2]=c[k>>2];c[p+4>>2]=c[k+4>>2];w=mn(s,u,w,p)|0}u=c[s>>2]|0;if((u|0)==0){x=_b(4)|0;c[x>>2]=24928;ed(x|0,24976,117)}else{s=u;v=u}}else{s=0;v=r;w=u}u=v+w|0;t=c[t>>2]&176;do if((t|0)==16){t=a[v>>0]|0;if(t<<24>>24==43|t<<24>>24==45){t=v+1|0;break}if((w|0)>1&t<<24>>24==48?(x=a[v+1>>0]|0,x<<24>>24==88|x<<24>>24==120):0)t=v+2|0;else q=16}else if((t|0)==32)t=u;else q=16;while(0);if((q|0)==16)t=v;if((v|0)!=(r|0)){p=Ts(w<<3)|0;if((p|0)==0){x=_b(4)|0;c[x>>2]=24928;ed(x|0,24976,117)}else{r=v;q=p}}else q=0;w=c[f+28>>2]|0;c[o>>2]=w;w=w+4|0;c[w>>2]=(c[w>>2]|0)+1;An(r,t,u,p,n,d,o);o=c[o>>2]|0;w=o+4|0;x=c[w>>2]|0;c[w>>2]=x+ -1;if((x|0)==0)qd[c[(c[o>>2]|0)+8>>2]&255](o);vn(l,c[e>>2]|0,p,c[n>>2]|0,c[d>>2]|0,f,g);x=c[l>>2]|0;c[e>>2]=x;c[b>>2]=x;if((q|0)==0){Us(s);i=m;return}Us(q);Us(s);i=m;return}function Cn(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=i;i=i+176|0;k=j;m=j+168|0;d=j+148|0;a[m+0>>0]=a[15536]|0;a[m+1>>0]=a[15537]|0;a[m+2>>0]=a[15538]|0;a[m+3>>0]=a[15539]|0;a[m+4>>0]=a[15540]|0;a[m+5>>0]=a[15541]|0;n=Em()|0;c[k>>2]=h;m=dn(d,20,n,m,k)|0;h=d+m|0;n=c[f+4>>2]&176;do if((n|0)==16){n=a[d>>0]|0;if(n<<24>>24==43|n<<24>>24==45){n=d+1|0;break}if((m|0)>1&n<<24>>24==48?(o=a[d+1>>0]|0,o<<24>>24==88|o<<24>>24==120):0)n=d+2|0;else l=7}else if((n|0)==32)n=h;else l=7;while(0);if((l|0)==7)n=d;l=c[f+28>>2]|0;o=l+4|0;c[o>>2]=(c[o>>2]|0)+1;o=Vp(l,16712)|0;q=l+4|0;p=c[q>>2]|0;c[q>>2]=p+ -1;if((p|0)==0)qd[c[(c[l>>2]|0)+8>>2]&255](l);Ad[c[(c[o>>2]|0)+48>>2]&31](o,d,h,k)|0;l=k+(m<<2)|0;if((n|0)==(h|0)){q=l;p=c[e>>2]|0;vn(b,p,k,q,l,f,g);i=j;return}q=k+(n-d<<2)|0;p=c[e>>2]|0;vn(b,p,k,q,l,f,g);i=j;return}function Dn(e,f,g,h,j,k,l,m,n){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;o=i;i=i+32|0;u=o+16|0;q=o+12|0;w=o+8|0;r=o+4|0;s=o;x=c[j+28>>2]|0;v=x+4|0;c[v>>2]=(c[v>>2]|0)+1;v=Vp(x,16720)|0;C=x+4|0;D=c[C>>2]|0;c[C>>2]=D+ -1;if((D|0)==0)qd[c[(c[x>>2]|0)+8>>2]&255](x);c[k>>2]=0;a:do if((m|0)!=(n|0)){x=v+8|0;y=0;b:while(1){z=y;y=g;while(1){if((z|0)!=0){g=y;break a}if((y|0)!=0)if((c[y+12>>2]|0)==(c[y+16>>2]|0)){D=(ud[c[(c[y>>2]|0)+36>>2]&127](y)|0)==-1;g=D?0:y;y=D?0:y}else g=y;else{g=0;y=0}z=(g|0)==0;do if((h|0)!=0){if((c[h+12>>2]|0)==(c[h+16>>2]|0)?(ud[c[(c[h>>2]|0)+36>>2]&127](h)|0)==-1:0){p=14;break}if(!z){p=15;break b}}else p=14;while(0);if((p|0)==14){p=0;if(z){h=0;p=15;break b}else h=0}if((md[c[(c[v>>2]|0)+36>>2]&63](v,a[m>>0]|0,0)|0)<<24>>24==37){p=17;break}z=a[m>>0]|0;if(z<<24>>24>-1?(t=c[x>>2]|0,!((b[t+(z<<24>>24<<1)>>1]&8192)==0)):0){p=28;break}A=g+12|0;B=c[A>>2]|0;z=g+16|0;if((B|0)==(c[z>>2]|0))B=ud[c[(c[g>>2]|0)+36>>2]&127](g)|0;else B=d[B>>0]|0;D=Dd[c[(c[v>>2]|0)+12>>2]&127](v,B&255)|0;if(D<<24>>24==(Dd[c[(c[v>>2]|0)+12>>2]&127](v,a[m>>0]|0)|0)<<24>>24){p=53;break}c[k>>2]=4;z=4}c:do if((p|0)==17){p=0;y=m+1|0;if((y|0)==(n|0)){p=18;break b}z=md[c[(c[v>>2]|0)+36>>2]&63](v,a[y>>0]|0,0)|0;if(z<<24>>24==48|z<<24>>24==69){y=m+2|0;if((y|0)==(n|0)){p=21;break b}m=md[c[(c[v>>2]|0)+36>>2]&63](v,a[y>>0]|0,0)|0}else{m=z;z=0}D=c[(c[f>>2]|0)+36>>2]|0;c[r>>2]=g;c[s>>2]=h;c[q+0>>2]=c[r+0>>2];c[u+0>>2]=c[s+0>>2];td[D&31](w,f,q,u,j,k,l,m,z);g=c[w>>2]|0;m=y+1|0}else if((p|0)==28){while(1){p=0;m=m+1|0;if((m|0)==(n|0)){m=n;break}z=a[m>>0]|0;if(!(z<<24>>24>-1))break;if((b[t+(z<<24>>24<<1)>>1]&8192)==0)break;else p=28}B=h;A=h;while(1){if((g|0)!=0){if((c[g+12>>2]|0)==(c[g+16>>2]|0)){D=(ud[c[(c[g>>2]|0)+36>>2]&127](g)|0)==-1;g=D?0:g;y=D?0:y}}else g=0;C=(g|0)==0;do if((A|0)!=0){if((c[A+12>>2]|0)!=(c[A+16>>2]|0))if(C){z=B;break}else{g=y;break c}if(!((ud[c[(c[A>>2]|0)+36>>2]&127](A)|0)==-1))if(C^(B|0)==0){z=B;A=B}else{g=y;break c}else{z=0;h=0;p=39}}else{z=B;p=39}while(0);if((p|0)==39){p=0;if(C){g=y;break c}else A=0}B=g+12|0;D=c[B>>2]|0;C=g+16|0;if((D|0)==(c[C>>2]|0))D=ud[c[(c[g>>2]|0)+36>>2]&127](g)|0;else D=d[D>>0]|0;if(!((D&255)<<24>>24>-1)){g=y;break c}if((b[(c[x>>2]|0)+(D<<24>>24<<1)>>1]&8192)==0){g=y;break c}D=c[B>>2]|0;if((D|0)==(c[C>>2]|0)){ud[c[(c[g>>2]|0)+40>>2]&127](g)|0;B=z;continue}else{c[B>>2]=D+1;B=z;continue}}}else if((p|0)==53){p=0;B=c[A>>2]|0;if((B|0)==(c[z>>2]|0))ud[c[(c[g>>2]|0)+40>>2]&127](g)|0;else c[A>>2]=B+1;g=y;m=m+1|0}while(0);if((m|0)==(n|0))break a;y=c[k>>2]|0}if((p|0)==15){c[k>>2]=4;break}else if((p|0)==18){c[k>>2]=4;break}else if((p|0)==21){c[k>>2]=4;break}}while(0);if((g|0)!=0){if((c[g+12>>2]|0)==(c[g+16>>2]|0)){D=(ud[c[(c[g>>2]|0)+36>>2]&127](g)|0)==-1;g=D?0:g}}else g=0;l=(g|0)==0;do if((h|0)!=0){if((c[h+12>>2]|0)==(c[h+16>>2]|0)?(ud[c[(c[h>>2]|0)+36>>2]&127](h)|0)==-1:0){p=65;break}if(l){c[e>>2]=g;i=o;return}}else p=65;while(0);if((p|0)==65?!l:0){c[e>>2]=g;i=o;return}c[k>>2]=c[k>>2]|2;c[e>>2]=g;i=o;return}function En(a){a=a|0;var b=0;b=i;Us(a);i=b;return}function Fn(a){a=a|0;return}function Gn(a){a=a|0;return 2}function Hn(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0;j=i;Dn(a,b,c[d>>2]|0,c[e>>2]|0,f,g,h,15640,15648|0);i=j;return}function In(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0;k=i;l=d+8|0;l=ud[c[(c[l>>2]|0)+20>>2]&127](l)|0;m=a[l>>0]|0;if((m&1)==0){m=(m&255)>>>1;l=l+1|0}else{m=c[l+4>>2]|0;l=c[l+8>>2]|0}Dn(b,d,c[e>>2]|0,c[f>>2]|0,g,h,j,l,l+m|0);i=k;return}function Jn(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;j=i;k=c[f+28>>2]|0;f=k+4|0;c[f>>2]=(c[f>>2]|0)+1;f=Vp(k,16720)|0;m=k+4|0;l=c[m>>2]|0;c[m>>2]=l+ -1;if((l|0)==0)qd[c[(c[k>>2]|0)+8>>2]&255](k);Kn(b,h+24|0,d,c[e>>2]|0,g,f);c[a>>2]=c[d>>2];i=j;return}function Kn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=i;a=a+8|0;a=ud[c[c[a>>2]>>2]&127](a)|0;f=(rm(d,e,a,a+168|0,g,f,0)|0)-a|0;if((f|0)>=168){i=h;return}c[b>>2]=((f|0)/12|0|0)%7|0;i=h;return}function Ln(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;j=i;k=c[f+28>>2]|0;f=k+4|0;c[f>>2]=(c[f>>2]|0)+1;f=Vp(k,16720)|0;m=k+4|0;l=c[m>>2]|0;c[m>>2]=l+ -1;if((l|0)==0)qd[c[(c[k>>2]|0)+8>>2]&255](k);Mn(b,h+16|0,d,c[e>>2]|0,g,f);c[a>>2]=c[d>>2];i=j;return}function Mn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=i;a=a+8|0;a=ud[c[(c[a>>2]|0)+4>>2]&127](a)|0;f=(rm(d,e,a,a+288|0,g,f,0)|0)-a|0;if((f|0)>=288){i=h;return}c[b>>2]=((f|0)/12|0|0)%12|0;i=h;return}function Nn(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0;b=i;j=c[f+28>>2]|0;f=j+4|0;c[f>>2]=(c[f>>2]|0)+1;f=Vp(j,16720)|0;l=j+4|0;k=c[l>>2]|0;c[l>>2]=k+ -1;if((k|0)==0)qd[c[(c[j>>2]|0)+8>>2]&255](j);On(h+20|0,d,c[e>>2]|0,g,f);c[a>>2]=c[d>>2];i=b;return}function On(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=i;f=Qn(b,d,e,f,4)|0;if((c[e>>2]&4|0)!=0){i=g;return}if((f|0)<69)e=f+2e3|0;else e=(f+ -69|0)>>>0<31?f+1900|0:f;c[a>>2]=e+ -1900;i=g;return}function Pn(e,f,g,h,j,k,l,m,n){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;var o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;n=i;i=i+48|0;y=n+36|0;z=n+16|0;s=n;C=n+28|0;x=n+32|0;w=n+40|0;t=n+12|0;u=n+24|0;v=n+20|0;A=n+8|0;r=n+4|0;c[k>>2]=0;B=c[j+28>>2]|0;p=B+4|0;c[p>>2]=(c[p>>2]|0)+1;p=Vp(B,16720)|0;E=B+4|0;D=c[E>>2]|0;c[E>>2]=D+ -1;if((D|0)==0)qd[c[(c[B>>2]|0)+8>>2]&255](B);a:do switch(m<<24>>24|0){case 37:{l=c[h>>2]|0;h=c[g>>2]|0;do if((h|0)!=0){if((c[h+12>>2]|0)==(c[h+16>>2]|0))if((ud[c[(c[h>>2]|0)+36>>2]&127](h)|0)==-1){c[g>>2]=0;h=0;break}else{h=c[g>>2]|0;break}}else h=0;while(0);h=(h|0)==0;do if((l|0)!=0){if((c[l+12>>2]|0)==(c[l+16>>2]|0)?(ud[c[(c[l>>2]|0)+36>>2]&127](l)|0)==-1:0){o=103;break}if(!h)o=104}else o=103;while(0);if((o|0)==103)if(h)o=104;else l=0;if((o|0)==104){c[k>>2]=c[k>>2]|6;break a}h=c[g>>2]|0;f=c[h+12>>2]|0;if((f|0)==(c[h+16>>2]|0))h=ud[c[(c[h>>2]|0)+36>>2]&127](h)|0;else h=d[f>>0]|0;if(!((md[c[(c[p>>2]|0)+36>>2]&63](p,h&255,0)|0)<<24>>24==37)){c[k>>2]=c[k>>2]|4;break a}h=c[g>>2]|0;f=h+12|0;p=c[f>>2]|0;if((p|0)==(c[h+16>>2]|0))ud[c[(c[h>>2]|0)+40>>2]&127](h)|0;else c[f>>2]=p+1;p=c[g>>2]|0;do if((p|0)!=0){if((c[p+12>>2]|0)==(c[p+16>>2]|0))if((ud[c[(c[p>>2]|0)+36>>2]&127](p)|0)==-1){c[g>>2]=0;p=0;break}else{p=c[g>>2]|0;break}}else p=0;while(0);p=(p|0)==0;do if((l|0)!=0){if((c[l+12>>2]|0)==(c[l+16>>2]|0)?(ud[c[(c[l>>2]|0)+36>>2]&127](l)|0)==-1:0){o=122;break}if(p)break a}else o=122;while(0);if((o|0)==122?!p:0)break a;c[k>>2]=c[k>>2]|2;break};case 101:case 100:{o=l+12|0;p=Qn(g,c[h>>2]|0,k,p,2)|0;l=c[k>>2]|0;if((l&4|0)==0?(p+ -1|0)>>>0<31:0){c[o>>2]=p;break a}c[k>>2]=l|4;break};case 70:{Dn(x,f,c[g>>2]|0,c[h>>2]|0,j,k,l,15656,15664|0);c[g>>2]=c[x>>2];break};case 109:{p=Qn(g,c[h>>2]|0,k,p,2)|0;o=c[k>>2]|0;if((o&4|0)==0&(p|0)<13){c[l+16>>2]=p+ -1;break a}else{c[k>>2]=o|4;break a}};case 88:{q=f+8|0;q=ud[c[(c[q>>2]|0)+24>>2]&127](q)|0;p=a[q>>0]|0;if((p&1)==0){o=q+1|0;p=(p&255)>>>1}else{o=c[q+8>>2]|0;p=c[q+4>>2]|0}Dn(r,f,c[g>>2]|0,c[h>>2]|0,j,k,l,o,o+p|0);c[g>>2]=c[r>>2];break};case 106:{p=Qn(g,c[h>>2]|0,k,p,3)|0;o=c[k>>2]|0;if((o&4|0)==0&(p|0)<366){c[l+28>>2]=p;break a}else{c[k>>2]=o|4;break a}};case 72:{p=Qn(g,c[h>>2]|0,k,p,2)|0;o=c[k>>2]|0;if((o&4|0)==0&(p|0)<24){c[l+8>>2]=p;break a}else{c[k>>2]=o|4;break a}};case 112:{o=l+8|0;l=c[h>>2]|0;h=f+8|0;h=ud[c[(c[h>>2]|0)+8>>2]&127](h)|0;f=a[h>>0]|0;if((f&1)==0)f=(f&255)>>>1;else f=c[h+4>>2]|0;j=a[h+12>>0]|0;if((j&1)==0)j=(j&255)>>>1;else j=c[h+16>>2]|0;if((f|0)==(0-j|0)){c[k>>2]=c[k>>2]|4;break a}E=rm(g,l,h,h+24|0,p,k,0)|0;k=E-h|0;if((E|0)==(h|0)?(c[o>>2]|0)==12:0){c[o>>2]=0;break a}if((k|0)==12?(q=c[o>>2]|0,(q|0)<12):0)c[o>>2]=q+12;break};case 83:{o=Qn(g,c[h>>2]|0,k,p,2)|0;p=c[k>>2]|0;if((p&4|0)==0&(o|0)<61){c[l>>2]=o;break a}else{c[k>>2]=p|4;break a}};case 84:{Dn(u,f,c[g>>2]|0,c[h>>2]|0,j,k,l,15688,15696|0);c[g>>2]=c[u>>2];break};case 119:{o=Qn(g,c[h>>2]|0,k,p,1)|0;p=c[k>>2]|0;if((p&4|0)==0&(o|0)<7){c[l+24>>2]=o;break a}else{c[k>>2]=p|4;break a}};case 68:{Dn(C,f,c[g>>2]|0,c[h>>2]|0,j,k,l,15648,15656|0);c[g>>2]=c[C>>2];break};case 77:{p=Qn(g,c[h>>2]|0,k,p,2)|0;o=c[k>>2]|0;if((o&4|0)==0&(p|0)<60){c[l+4>>2]=p;break a}else{c[k>>2]=o|4;break a}};case 104:case 66:case 98:{Mn(f,l+16|0,g,c[h>>2]|0,k,p);break};case 121:{On(l+20|0,g,c[h>>2]|0,k,p);break};case 89:{o=Qn(g,c[h>>2]|0,k,p,4)|0;if((c[k>>2]&4|0)==0)c[l+20>>2]=o+ -1900;break};case 120:{E=c[(c[f>>2]|0)+20>>2]|0;c[v>>2]=c[g>>2];c[A>>2]=c[h>>2];c[z+0>>2]=c[v+0>>2];c[y+0>>2]=c[A+0>>2];nd[E&127](e,f,z,y,j,k,l);i=n;return};case 73:{o=l+8|0;l=Qn(g,c[h>>2]|0,k,p,2)|0;p=c[k>>2]|0;if((p&4|0)==0?(l+ -1|0)>>>0<12:0){c[o>>2]=l;break a}c[k>>2]=p|4;break};case 116:case 110:{l=p+8|0;p=c[h>>2]|0;b:while(1){h=c[g>>2]|0;do if((h|0)!=0){if((c[h+12>>2]|0)==(c[h+16>>2]|0))if((ud[c[(c[h>>2]|0)+36>>2]&127](h)|0)==-1){c[g>>2]=0;h=0;break}else{h=c[g>>2]|0;break}}else h=0;while(0);h=(h|0)==0;do if((p|0)!=0){if((c[p+12>>2]|0)!=(c[p+16>>2]|0))if(h)break;else break b;if(!((ud[c[(c[p>>2]|0)+36>>2]&127](p)|0)==-1)){if(!h)break b}else o=42}else o=42;while(0);if((o|0)==42){o=0;if(h){p=0;break}else p=0}f=c[g>>2]|0;h=c[f+12>>2]|0;if((h|0)==(c[f+16>>2]|0))h=ud[c[(c[f>>2]|0)+36>>2]&127](f)|0;else h=d[h>>0]|0;if(!((h&255)<<24>>24>-1))break;if((b[(c[l>>2]|0)+(h<<24>>24<<1)>>1]&8192)==0)break;q=c[g>>2]|0;f=q+12|0;h=c[f>>2]|0;if((h|0)==(c[q+16>>2]|0)){ud[c[(c[q>>2]|0)+40>>2]&127](q)|0;continue}else{c[f>>2]=h+1;continue}}l=c[g>>2]|0;do if((l|0)!=0){if((c[l+12>>2]|0)==(c[l+16>>2]|0))if((ud[c[(c[l>>2]|0)+36>>2]&127](l)|0)==-1){c[g>>2]=0;l=0;break}else{l=c[g>>2]|0;break}}else l=0;while(0);l=(l|0)==0;do if((p|0)!=0){if((c[p+12>>2]|0)==(c[p+16>>2]|0)?(ud[c[(c[p>>2]|0)+36>>2]&127](p)|0)==-1:0){o=61;break}if(l)break a}else o=61;while(0);if((o|0)==61?!l:0)break a;c[k>>2]=c[k>>2]|2;break};case 114:{Dn(w,f,c[g>>2]|0,c[h>>2]|0,j,k,l,15664,15675|0);c[g>>2]=c[w>>2];break};case 82:{Dn(t,f,c[g>>2]|0,c[h>>2]|0,j,k,l,15680,15685|0);c[g>>2]=c[t>>2];break};case 65:case 97:{Kn(f,l+24|0,g,c[h>>2]|0,k,p);break};case 99:{p=f+8|0;p=ud[c[(c[p>>2]|0)+12>>2]&127](p)|0;o=a[p>>0]|0;if((o&1)==0){o=(o&255)>>>1;p=p+1|0}else{o=c[p+4>>2]|0;p=c[p+8>>2]|0}Dn(s,f,c[g>>2]|0,c[h>>2]|0,j,k,l,p,p+o|0);c[g>>2]=c[s>>2];break};default:c[k>>2]=c[k>>2]|4}while(0);c[e>>2]=c[g>>2];i=n;return}function Qn(a,e,f,g,h){a=a|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=i;m=c[a>>2]|0;do if((m|0)!=0){if((c[m+12>>2]|0)==(c[m+16>>2]|0))if((ud[c[(c[m>>2]|0)+36>>2]&127](m)|0)==-1){c[a>>2]=0;m=0;break}else{m=c[a>>2]|0;break}}else m=0;while(0);m=(m|0)==0;do if((e|0)!=0){if((c[e+12>>2]|0)==(c[e+16>>2]|0)?(ud[c[(c[e>>2]|0)+36>>2]&127](e)|0)==-1:0){l=10;break}if(!m)l=11}else l=10;while(0);if((l|0)==10)if(m)l=11;else e=0;if((l|0)==11){c[f>>2]=c[f>>2]|6;p=0;i=j;return p|0}l=c[a>>2]|0;m=c[l+12>>2]|0;if((m|0)==(c[l+16>>2]|0))l=ud[c[(c[l>>2]|0)+36>>2]&127](l)|0;else l=d[m>>0]|0;m=l&255;if(m<<24>>24>-1?(k=g+8|0,!((b[(c[k>>2]|0)+(l<<24>>24<<1)>>1]&2048)==0)):0){l=(md[c[(c[g>>2]|0)+36>>2]&63](g,m,0)|0)<<24>>24;o=c[a>>2]|0;n=o+12|0;m=c[n>>2]|0;if((m|0)==(c[o+16>>2]|0)){ud[c[(c[o>>2]|0)+40>>2]&127](o)|0;m=e;n=e;e=l}else{c[n>>2]=m+1;m=e;n=e;e=l}while(1){e=e+ -48|0;l=h+ -1|0;h=c[a>>2]|0;do if((h|0)!=0){if((c[h+12>>2]|0)==(c[h+16>>2]|0))if((ud[c[(c[h>>2]|0)+36>>2]&127](h)|0)==-1){c[a>>2]=0;h=0;break}else{h=c[a>>2]|0;break}}else h=0;while(0);o=(h|0)==0;if((n|0)!=0)if((c[n+12>>2]|0)==(c[n+16>>2]|0)){n=(ud[c[(c[n>>2]|0)+36>>2]&127](n)|0)==-1;h=n?0:m;n=n?0:m}else h=m;else{h=m;n=0}m=c[a>>2]|0;if(!((o^(n|0)==0)&(l|0)>0)){l=38;break}o=c[m+12>>2]|0;if((o|0)==(c[m+16>>2]|0))m=ud[c[(c[m>>2]|0)+36>>2]&127](m)|0;else m=d[o>>0]|0;o=m&255;if(!(o<<24>>24>-1)){l=49;break}if((b[(c[k>>2]|0)+(m<<24>>24<<1)>>1]&2048)==0){l=49;break}e=((md[c[(c[g>>2]|0)+36>>2]&63](g,o,0)|0)<<24>>24)+(e*10|0)|0;o=c[a>>2]|0;p=o+12|0;m=c[p>>2]|0;if((m|0)==(c[o+16>>2]|0)){ud[c[(c[o>>2]|0)+40>>2]&127](o)|0;m=h;h=l;continue}else{c[p>>2]=m+1;m=h;h=l;continue}}if((l|0)==38){do if((m|0)!=0){if((c[m+12>>2]|0)==(c[m+16>>2]|0))if((ud[c[(c[m>>2]|0)+36>>2]&127](m)|0)==-1){c[a>>2]=0;m=0;break}else{m=c[a>>2]|0;break}}else m=0;while(0);g=(m|0)==0;do if((h|0)!=0){if((c[h+12>>2]|0)==(c[h+16>>2]|0)?(ud[c[(c[h>>2]|0)+36>>2]&127](h)|0)==-1:0){l=47;break}if(g){p=e;i=j;return p|0}}else l=47;while(0);if((l|0)==47?!g:0){p=e;i=j;return p|0}c[f>>2]=c[f>>2]|2;p=e;i=j;return p|0}else if((l|0)==49){i=j;return e|0}}c[f>>2]=c[f>>2]|4;p=0;i=j;return p|0}function Rn(a,b,d,e,f,g,h,j,k){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;m=i;i=i+32|0;n=m+16|0;r=m+12|0;o=m+8|0;q=m+4|0;p=m;t=c[f+28>>2]|0;s=t+4|0;c[s>>2]=(c[s>>2]|0)+1;s=Vp(t,16712)|0;x=t+4|0;y=c[x>>2]|0;c[x>>2]=y+ -1;if((y|0)==0)qd[c[(c[t>>2]|0)+8>>2]&255](t);c[g>>2]=0;a:do if((j|0)!=(k|0)){t=0;b:while(1){u=t;t=d;while(1){if((u|0)!=0){d=t;break a}if((t|0)==0){d=0;u=1;t=0}else{d=c[t+12>>2]|0;if((d|0)==(c[t+16>>2]|0))d=ud[c[(c[t>>2]|0)+36>>2]&127](t)|0;else d=c[d>>2]|0;y=(d|0)==-1;d=y?0:t;u=y?1:0;t=y?0:t}if((e|0)!=0){v=c[e+12>>2]|0;if((v|0)==(c[e+16>>2]|0))v=ud[c[(c[e>>2]|0)+36>>2]&127](e)|0;else v=c[v>>2]|0;if(!((v|0)==-1)){if(!u){l=19;break b}}else l=17}else l=17;if((l|0)==17){l=0;if(u){e=0;l=19;break b}else e=0}if((md[c[(c[s>>2]|0)+52>>2]&63](s,c[j>>2]|0,0)|0)<<24>>24==37){l=21;break}if(md[c[(c[s>>2]|0)+12>>2]&63](s,8192,c[j>>2]|0)|0){l=31;break}u=d+12|0;w=c[u>>2]|0;v=d+16|0;if((w|0)==(c[v>>2]|0))w=ud[c[(c[d>>2]|0)+36>>2]&127](d)|0;else w=c[w>>2]|0;y=Dd[c[(c[s>>2]|0)+28>>2]&127](s,w)|0;if((y|0)==(Dd[c[(c[s>>2]|0)+28>>2]&127](s,c[j>>2]|0)|0)){l=57;break}c[g>>2]=4;u=4}c:do if((l|0)==21){l=0;v=j+4|0;if((v|0)==(k|0)){l=22;break b}t=md[c[(c[s>>2]|0)+52>>2]&63](s,c[v>>2]|0,0)|0;if(t<<24>>24==48|t<<24>>24==69){j=j+8|0;if((j|0)==(k|0)){l=25;break b}u=md[c[(c[s>>2]|0)+52>>2]&63](s,c[j>>2]|0,0)|0}else{u=t;j=v;t=0}y=c[(c[b>>2]|0)+36>>2]|0;c[q>>2]=d;c[p>>2]=e;c[r+0>>2]=c[q+0>>2];c[n+0>>2]=c[p+0>>2];td[y&31](o,b,r,n,f,g,h,u,t);d=c[o>>2]|0;j=j+4|0}else if((l|0)==31){while(1){l=0;j=j+4|0;if((j|0)==(k|0)){j=k;break}if(md[c[(c[s>>2]|0)+12>>2]&63](s,8192,c[j>>2]|0)|0)l=31;else break}u=e;w=e;while(1){if((d|0)==0){v=1;d=0}else{v=c[d+12>>2]|0;if((v|0)==(c[d+16>>2]|0))v=ud[c[(c[d>>2]|0)+36>>2]&127](d)|0;else v=c[v>>2]|0;y=(v|0)==-1;v=y?1:0;d=y?0:d;t=y?0:t}if((w|0)!=0){x=c[w+12>>2]|0;if((x|0)==(c[w+16>>2]|0))w=ud[c[(c[w>>2]|0)+36>>2]&127](w)|0;else w=c[x>>2]|0;if(!((w|0)==-1))if(v^(u|0)==0){v=u;w=u}else{d=t;break c}else{u=0;e=0;l=44}}else l=44;if((l|0)==44){l=0;if(v){d=t;break c}else{v=u;w=0}}u=d+12|0;y=c[u>>2]|0;x=d+16|0;if((y|0)==(c[x>>2]|0))y=ud[c[(c[d>>2]|0)+36>>2]&127](d)|0;else y=c[y>>2]|0;if(!(md[c[(c[s>>2]|0)+12>>2]&63](s,8192,y)|0)){d=t;break c}y=c[u>>2]|0;if((y|0)==(c[x>>2]|0)){ud[c[(c[d>>2]|0)+40>>2]&127](d)|0;u=v;continue}else{c[u>>2]=y+4;u=v;continue}}}else if((l|0)==57){l=0;w=c[u>>2]|0;if((w|0)==(c[v>>2]|0))ud[c[(c[d>>2]|0)+40>>2]&127](d)|0;else c[u>>2]=w+4;d=t;j=j+4|0}while(0);if((j|0)==(k|0))break a;t=c[g>>2]|0}if((l|0)==19){c[g>>2]=4;break}else if((l|0)==22){c[g>>2]=4;break}else if((l|0)==25){c[g>>2]=4;break}}while(0);if((d|0)==0){n=0;o=1}else{n=c[d+12>>2]|0;if((n|0)==(c[d+16>>2]|0))n=ud[c[(c[d>>2]|0)+36>>2]&127](d)|0;else n=c[n>>2]|0;o=(n|0)==-1;n=o?0:d;o=o?1:0}if((e|0)!=0){f=c[e+12>>2]|0;if((f|0)==(c[e+16>>2]|0))f=ud[c[(c[e>>2]|0)+36>>2]&127](e)|0;else f=c[f>>2]|0;if(!((f|0)==-1)){if(o){c[a>>2]=n;i=m;return}}else l=72}else l=72;if((l|0)==72?!o:0){c[a>>2]=n;i=m;return}c[g>>2]=c[g>>2]|2;c[a>>2]=n;i=m;return}function Sn(a){a=a|0;var b=0;b=i;Us(a);i=b;return}function Tn(a){a=a|0;return}function Un(a){a=a|0;return 2}function Vn(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0;j=i;Rn(a,b,c[d>>2]|0,c[e>>2]|0,f,g,h,15792,15824|0);i=j;return}function Wn(b,d,e,f,g,h,j){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0;k=i;l=d+8|0;l=ud[c[(c[l>>2]|0)+20>>2]&127](l)|0;m=a[l>>0]|0;if((m&1)==0){m=(m&255)>>>1;l=l+4|0}else{m=c[l+4>>2]|0;l=c[l+8>>2]|0}Rn(b,d,c[e>>2]|0,c[f>>2]|0,g,h,j,l,l+(m<<2)|0);i=k;return}function Xn(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;j=i;k=c[f+28>>2]|0;f=k+4|0;c[f>>2]=(c[f>>2]|0)+1;f=Vp(k,16712)|0;m=k+4|0;l=c[m>>2]|0;c[m>>2]=l+ -1;if((l|0)==0)qd[c[(c[k>>2]|0)+8>>2]&255](k);Yn(b,h+24|0,d,c[e>>2]|0,g,f);c[a>>2]=c[d>>2];i=j;return}function Yn(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=i;a=a+8|0;a=ud[c[c[a>>2]>>2]&127](a)|0;f=(Im(d,e,a,a+168|0,g,f,0)|0)-a|0;if((f|0)>=168){i=h;return}c[b>>2]=((f|0)/12|0|0)%7|0;i=h;return}function Zn(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;j=i;k=c[f+28>>2]|0;f=k+4|0;c[f>>2]=(c[f>>2]|0)+1;f=Vp(k,16712)|0;m=k+4|0;l=c[m>>2]|0;c[m>>2]=l+ -1;if((l|0)==0)qd[c[(c[k>>2]|0)+8>>2]&255](k);_n(b,h+16|0,d,c[e>>2]|0,g,f);c[a>>2]=c[d>>2];i=j;return}function _n(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0;h=i;a=a+8|0;a=ud[c[(c[a>>2]|0)+4>>2]&127](a)|0;f=(Im(d,e,a,a+288|0,g,f,0)|0)-a|0;if((f|0)>=288){i=h;return}c[b>>2]=((f|0)/12|0|0)%12|0;i=h;return}function $n(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0;b=i;j=c[f+28>>2]|0;f=j+4|0;c[f>>2]=(c[f>>2]|0)+1;f=Vp(j,16712)|0;l=j+4|0;k=c[l>>2]|0;c[l>>2]=k+ -1;if((k|0)==0)qd[c[(c[j>>2]|0)+8>>2]&255](j);ao(h+20|0,d,c[e>>2]|0,g,f);c[a>>2]=c[d>>2];i=b;return}function ao(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0;g=i;f=co(b,d,e,f,4)|0;if((c[e>>2]&4|0)!=0){i=g;return}if((f|0)<69)e=f+2e3|0;else e=(f+ -69|0)>>>0<31?f+1900|0:f;c[a>>2]=e+ -1900;i=g;return}function bo(b,d,e,f,g,h,j,k,l){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;var m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;l=i;i=i+48|0;x=l+36|0;y=l+16|0;q=l;A=l+28|0;w=l+32|0;s=l+40|0;u=l+12|0;t=l+24|0;r=l+20|0;v=l+8|0;p=l+4|0;c[h>>2]=0;z=c[g+28>>2]|0;n=z+4|0;c[n>>2]=(c[n>>2]|0)+1;n=Vp(z,16712)|0;C=z+4|0;B=c[C>>2]|0;c[C>>2]=B+ -1;if((B|0)==0)qd[c[(c[z>>2]|0)+8>>2]&255](z);a:do switch(k<<24>>24|0){case 101:case 100:{m=j+12|0;j=co(e,c[f>>2]|0,h,n,2)|0;n=c[h>>2]|0;if((n&4|0)==0?(j+ -1|0)>>>0<31:0){c[m>>2]=j;break a}c[h>>2]=n|4;break};case 116:case 110:{j=c[f>>2]|0;while(1){d=c[e>>2]|0;do if((d|0)!=0){f=c[d+12>>2]|0;if((f|0)==(c[d+16>>2]|0))f=ud[c[(c[d>>2]|0)+36>>2]&127](d)|0;else f=c[f>>2]|0;if((f|0)==-1){c[e>>2]=0;f=1;break}else{f=(c[e>>2]|0)==0;break}}else f=1;while(0);if((j|0)!=0){d=c[j+12>>2]|0;if((d|0)==(c[j+16>>2]|0))d=ud[c[(c[j>>2]|0)+36>>2]&127](j)|0;else d=c[d>>2]|0;if(!((d|0)==-1)){if(!f)break}else m=45}else m=45;if((m|0)==45){m=0;if(f){j=0;break}else j=0}f=c[e>>2]|0;d=c[f+12>>2]|0;if((d|0)==(c[f+16>>2]|0))f=ud[c[(c[f>>2]|0)+36>>2]&127](f)|0;else f=c[d>>2]|0;if(!(md[c[(c[n>>2]|0)+12>>2]&63](n,8192,f)|0))break;d=c[e>>2]|0;o=d+12|0;f=c[o>>2]|0;if((f|0)==(c[d+16>>2]|0)){ud[c[(c[d>>2]|0)+40>>2]&127](d)|0;continue}else{c[o>>2]=f+4;continue}}n=c[e>>2]|0;do if((n|0)!=0){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=ud[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=c[f>>2]|0;if((n|0)==-1){c[e>>2]=0;n=1;break}else{n=(c[e>>2]|0)==0;break}}else n=1;while(0);if((j|0)!=0){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))j=ud[c[(c[j>>2]|0)+36>>2]&127](j)|0;else j=c[f>>2]|0;if(!((j|0)==-1)){if(n)break a}else m=66}else m=66;if((m|0)==66?!n:0)break a;c[h>>2]=c[h>>2]|2;break};case 119:{n=co(e,c[f>>2]|0,h,n,1)|0;m=c[h>>2]|0;if((m&4|0)==0&(n|0)<7){c[j+24>>2]=n;break a}else{c[h>>2]=m|4;break a}};case 121:{ao(j+20|0,e,c[f>>2]|0,h,n);break};case 68:{Rn(A,d,c[e>>2]|0,c[f>>2]|0,g,h,j,15824,15856|0);c[e>>2]=c[A>>2];break};case 114:{Rn(s,d,c[e>>2]|0,c[f>>2]|0,g,h,j,15888,15932|0);c[e>>2]=c[s>>2];break};case 109:{m=co(e,c[f>>2]|0,h,n,2)|0;n=c[h>>2]|0;if((n&4|0)==0&(m|0)<13){c[j+16>>2]=m+ -1;break a}else{c[h>>2]=n|4;break a}};case 120:{C=c[(c[d>>2]|0)+20>>2]|0;c[r>>2]=c[e>>2];c[v>>2]=c[f>>2];c[y+0>>2]=c[r+0>>2];c[x+0>>2]=c[v+0>>2];nd[C&127](b,d,y,x,g,h,j);i=l;return};case 37:{j=c[f>>2]|0;f=c[e>>2]|0;do if((f|0)!=0){d=c[f+12>>2]|0;if((d|0)==(c[f+16>>2]|0))f=ud[c[(c[f>>2]|0)+36>>2]&127](f)|0;else f=c[d>>2]|0;if((f|0)==-1){c[e>>2]=0;f=1;break}else{f=(c[e>>2]|0)==0;break}}else f=1;while(0);if((j|0)!=0){d=c[j+12>>2]|0;if((d|0)==(c[j+16>>2]|0))d=ud[c[(c[j>>2]|0)+36>>2]&127](j)|0;else d=c[d>>2]|0;if(!((d|0)==-1)){if(!f)m=114}else m=112}else m=112;if((m|0)==112)if(f)m=114;else j=0;if((m|0)==114){c[h>>2]=c[h>>2]|6;break a}f=c[e>>2]|0;d=c[f+12>>2]|0;if((d|0)==(c[f+16>>2]|0))f=ud[c[(c[f>>2]|0)+36>>2]&127](f)|0;else f=c[d>>2]|0;if(!((md[c[(c[n>>2]|0)+52>>2]&63](n,f,0)|0)<<24>>24==37)){c[h>>2]=c[h>>2]|4;break a}n=c[e>>2]|0;f=n+12|0;d=c[f>>2]|0;if((d|0)==(c[n+16>>2]|0))ud[c[(c[n>>2]|0)+40>>2]&127](n)|0;else c[f>>2]=d+4;n=c[e>>2]|0;do if((n|0)!=0){f=c[n+12>>2]|0;if((f|0)==(c[n+16>>2]|0))n=ud[c[(c[n>>2]|0)+36>>2]&127](n)|0;else n=c[f>>2]|0;if((n|0)==-1){c[e>>2]=0;n=1;break}else{n=(c[e>>2]|0)==0;break}}else n=1;while(0);if((j|0)!=0){f=c[j+12>>2]|0;if((f|0)==(c[j+16>>2]|0))j=ud[c[(c[j>>2]|0)+36>>2]&127](j)|0;else j=c[f>>2]|0;if(!((j|0)==-1)){if(n)break a}else m=135}else m=135;if((m|0)==135?!n:0)break a;c[h>>2]=c[h>>2]|2;break};case 112:{m=j+8|0;f=c[f>>2]|0;j=d+8|0;j=ud[c[(c[j>>2]|0)+8>>2]&127](j)|0;d=a[j>>0]|0;if((d&1)==0)d=(d&255)>>>1;else d=c[j+4>>2]|0;g=a[j+12>>0]|0;if((g&1)==0)g=(g&255)>>>1;else g=c[j+16>>2]|0;if((d|0)==(0-g|0)){c[h>>2]=c[h>>2]|4;break a}C=Im(e,f,j,j+24|0,n,h,0)|0;h=C-j|0;if((C|0)==(j|0)?(c[m>>2]|0)==12:0){c[m>>2]=0;break a}if((h|0)==12?(o=c[m>>2]|0,(o|0)<12):0)c[m>>2]=o+12;break};case 83:{n=co(e,c[f>>2]|0,h,n,2)|0;m=c[h>>2]|0;if((m&4|0)==0&(n|0)<61){c[j>>2]=n;break a}else{c[h>>2]=m|4;break a}};case 84:{Rn(t,d,c[e>>2]|0,c[f>>2]|0,g,h,j,15960,15992|0);c[e>>2]=c[t>>2];break};case 82:{Rn(u,d,c[e>>2]|0,c[f>>2]|0,g,h,j,15936,15956|0);c[e>>2]=c[u>>2];break};case 73:{m=j+8|0;j=co(e,c[f>>2]|0,h,n,2)|0;n=c[h>>2]|0;if((n&4|0)==0?(j+ -1|0)>>>0<12:0){c[m>>2]=j;break a}c[h>>2]=n|4;break};case 65:case 97:{Yn(d,j+24|0,e,c[f>>2]|0,h,n);break};case 89:{m=co(e,c[f>>2]|0,h,n,4)|0;if((c[h>>2]&4|0)==0)c[j+20>>2]=m+ -1900;break};case 88:{n=d+8|0;n=ud[c[(c[n>>2]|0)+24>>2]&127](n)|0;o=a[n>>0]|0;if((o&1)==0){m=n+4|0;n=(o&255)>>>1}else{m=c[n+8>>2]|0;n=c[n+4>>2]|0}Rn(p,d,c[e>>2]|0,c[f>>2]|0,g,h,j,m,m+(n<<2)|0);c[e>>2]=c[p>>2];break};case 72:{m=co(e,c[f>>2]|0,h,n,2)|0;n=c[h>>2]|0;if((n&4|0)==0&(m|0)<24){c[j+8>>2]=m;break a}else{c[h>>2]=n|4;break a}};case 104:case 66:case 98:{_n(d,j+16|0,e,c[f>>2]|0,h,n);break};case 106:{n=co(e,c[f>>2]|0,h,n,3)|0;m=c[h>>2]|0;if((m&4|0)==0&(n|0)<366){c[j+28>>2]=n;break a}else{c[h>>2]=m|4;break a}};case 77:{m=co(e,c[f>>2]|0,h,n,2)|0;n=c[h>>2]|0;if((n&4|0)==0&(m|0)<60){c[j+4>>2]=m;break a}else{c[h>>2]=n|4;break a}};case 70:{Rn(w,d,c[e>>2]|0,c[f>>2]|0,g,h,j,15856,15888|0);c[e>>2]=c[w>>2];break};case 99:{m=d+8|0;m=ud[c[(c[m>>2]|0)+12>>2]&127](m)|0;n=a[m>>0]|0;if((n&1)==0){n=(n&255)>>>1;m=m+4|0}else{n=c[m+4>>2]|0;m=c[m+8>>2]|0}Rn(q,d,c[e>>2]|0,c[f>>2]|0,g,h,j,m,m+(n<<2)|0);c[e>>2]=c[q>>2];break};default:c[h>>2]=c[h>>2]|4}while(0);c[b>>2]=c[e>>2];i=l;return}function co(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0;h=i;j=c[a>>2]|0;do if((j|0)!=0){k=c[j+12>>2]|0;if((k|0)==(c[j+16>>2]|0))j=ud[c[(c[j>>2]|0)+36>>2]&127](j)|0;else j=c[k>>2]|0;if((j|0)==-1){c[a>>2]=0;j=1;break}else{j=(c[a>>2]|0)==0;break}}else j=1;while(0);if((b|0)!=0){k=c[b+12>>2]|0;if((k|0)==(c[b+16>>2]|0))k=ud[c[(c[b>>2]|0)+36>>2]&127](b)|0;else k=c[k>>2]|0;if(!((k|0)==-1)){if(!j)g=15}else g=13}else g=13;if((g|0)==13)if(j)g=15;else b=0;if((g|0)==15){c[d>>2]=c[d>>2]|6;n=0;i=h;return n|0}k=c[a>>2]|0;j=c[k+12>>2]|0;if((j|0)==(c[k+16>>2]|0))j=ud[c[(c[k>>2]|0)+36>>2]&127](k)|0;else j=c[j>>2]|0;if(!(md[c[(c[e>>2]|0)+12>>2]&63](e,2048,j)|0)){c[d>>2]=c[d>>2]|4;n=0;i=h;return n|0}l=(md[c[(c[e>>2]|0)+52>>2]&63](e,j,0)|0)<<24>>24;j=c[a>>2]|0;k=j+12|0;m=c[k>>2]|0;if((m|0)==(c[j+16>>2]|0)){ud[c[(c[j>>2]|0)+40>>2]&127](j)|0;j=b;k=b;b=l}else{c[k>>2]=m+4;j=b;k=b;b=l}while(1){b=b+ -48|0;f=f+ -1|0;l=c[a>>2]|0;do if((l|0)!=0){m=c[l+12>>2]|0;if((m|0)==(c[l+16>>2]|0))l=ud[c[(c[l>>2]|0)+36>>2]&127](l)|0;else l=c[m>>2]|0;if((l|0)==-1){c[a>>2]=0;m=1;break}else{m=(c[a>>2]|0)==0;break}}else m=1;while(0);if((k|0)==0){k=j;n=1;l=0}else{l=c[k+12>>2]|0;if((l|0)==(c[k+16>>2]|0))k=ud[c[(c[k>>2]|0)+36>>2]&127](k)|0;else k=c[l>>2]|0;l=(k|0)==-1;k=l?0:j;n=l?1:(j|0)==0;l=l?0:j}j=c[a>>2]|0;if(!((m^n)&(f|0)>0))break;m=c[j+12>>2]|0;if((m|0)==(c[j+16>>2]|0))j=ud[c[(c[j>>2]|0)+36>>2]&127](j)|0;else j=c[m>>2]|0;if(!(md[c[(c[e>>2]|0)+12>>2]&63](e,2048,j)|0)){g=59;break}b=((md[c[(c[e>>2]|0)+52>>2]&63](e,j,0)|0)<<24>>24)+(b*10|0)|0;m=c[a>>2]|0;j=m+12|0;n=c[j>>2]|0;if((n|0)==(c[m+16>>2]|0)){ud[c[(c[m>>2]|0)+40>>2]&127](m)|0;j=k;k=l;continue}else{c[j>>2]=n+4;j=k;k=l;continue}}if((g|0)==59){i=h;return b|0}do if((j|0)!=0){e=c[j+12>>2]|0;if((e|0)==(c[j+16>>2]|0))e=ud[c[(c[j>>2]|0)+36>>2]&127](j)|0;else e=c[e>>2]|0;if((e|0)==-1){c[a>>2]=0;a=1;break}else{a=(c[a>>2]|0)==0;break}}else a=1;while(0);if((k|0)!=0){e=c[k+12>>2]|0;if((e|0)==(c[k+16>>2]|0))e=ud[c[(c[k>>2]|0)+36>>2]&127](k)|0;else e=c[e>>2]|0;if(!((e|0)==-1)){if(a){n=b;i=h;return n|0}}else g=56}else g=56;if((g|0)==56?!a:0){n=b;i=h;return n|0}c[d>>2]=c[d>>2]|2;n=b;i=h;return n|0}function eo(a){a=a|0;var b=0;b=i;go(a+8|0);Us(a);i=b;return}function fo(a){a=a|0;var b=0;b=i;go(a+8|0);i=b;return}function go(a){a=a|0;var b=0,d=0;b=i;d=c[a>>2]|0;if((d|0)==(Em()|0)){i=b;return}vb(c[a>>2]|0);i=b;return}function ho(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0;g=i;i=i+112|0;f=g+4|0;l=g;c[l>>2]=f+100;io(d+8|0,f,l,h,j,k);d=c[l>>2]|0;k=c[e>>2]|0;if((f|0)==(d|0)){l=k;c[b>>2]=l;i=g;return}else e=k;do{l=a[f>>0]|0;do if((e|0)!=0){j=e+24|0;h=c[j>>2]|0;if((h|0)==(c[e+28>>2]|0)){l=(Dd[c[(c[e>>2]|0)+52>>2]&127](e,l&255)|0)==-1;k=l?0:k;e=l?0:e;break}else{c[j>>2]=h+1;a[h>>0]=l;break}}else e=0;while(0);f=f+1|0}while((f|0)!=(d|0));c[b>>2]=k;i=g;return}function io(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;j=i;i=i+16|0;k=j;a[k>>0]=37;m=k+1|0;a[m>>0]=g;l=k+2|0;a[l>>0]=h;a[k+3>>0]=0;if(!(h<<24>>24==0)){a[m>>0]=h;a[l>>0]=g}c[e>>2]=d+(Kc(d|0,(c[e>>2]|0)-d|0,k|0,f|0,c[b>>2]|0)|0);i=j;return}function jo(a){a=a|0;var b=0;b=i;go(a+8|0);Us(a);i=b;return}function ko(a){a=a|0;var b=0;b=i;go(a+8|0);i=b;return}function lo(a,b,d,e,f,g,h,j){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0;f=i;i=i+528|0;m=f+416|0;n=f+412|0;k=f;l=f+408|0;e=f+8|0;b=b+8|0;c[n>>2]=m+100;io(b,m,n,g,h,j);g=k;c[g>>2]=0;c[g+4>>2]=0;c[l>>2]=m;g=bc(c[b>>2]|0)|0;b=Vr(e,l,100,k)|0;if((g|0)!=0)bc(g|0)|0;if((b|0)==-1)hp(17560);g=e+(b<<2)|0;h=c[d>>2]|0;if((b|0)==0){n=h;c[a>>2]=n;i=f;return}else{d=h;b=h}do{k=c[e>>2]|0;if((b|0)==0)b=0;else{h=b+24|0;j=c[h>>2]|0;if((j|0)==(c[b+28>>2]|0))k=Dd[c[(c[b>>2]|0)+52>>2]&127](b,k)|0;else{c[h>>2]=j+4;c[j>>2]=k}n=(k|0)==-1;d=n?0:d;b=n?0:b}e=e+4|0}while((e|0)!=(g|0));c[a>>2]=d;i=f;return}function mo(a){a=a|0;var b=0;b=i;Us(a);i=b;return}function no(a){a=a|0;return}function oo(a){a=a|0;return 127}function po(a){a=a|0;return 127}function qo(a,b){a=a|0;b=b|0;b=i;c[a+0>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;i=b;return}function ro(a,b){a=a|0;b=b|0;b=i;c[a+0>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;i=b;return}function so(a,b){a=a|0;b=b|0;b=i;c[a+0>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;i=b;return}function to(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=45;a[b+2>>0]=0;return}function uo(a){a=a|0;return 0}function vo(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function wo(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function xo(a){a=a|0;var b=0;b=i;Us(a);i=b;return}function yo(a){a=a|0;return}function zo(a){a=a|0;return 127}function Ao(a){a=a|0;return 127}function Bo(a,b){a=a|0;b=b|0;b=i;c[a+0>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;i=b;return}function Co(a,b){a=a|0;b=b|0;b=i;c[a+0>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;i=b;return}function Do(a,b){a=a|0;b=b|0;b=i;c[a+0>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;i=b;return}function Eo(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=45;a[b+2>>0]=0;return}function Fo(a){a=a|0;return 0}function Go(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function Ho(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function Io(a){a=a|0;var b=0;b=i;Us(a);i=b;return}function Jo(a){a=a|0;return}function Ko(a){a=a|0;return 2147483647}function Lo(a){a=a|0;return 2147483647}function Mo(a,b){a=a|0;b=b|0;b=i;c[a+0>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;i=b;return}function No(a,b){a=a|0;b=b|0;b=i;c[a+0>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;i=b;return}function Oo(a,b){a=a|0;b=b|0;b=i;c[a+0>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;i=b;return}function Po(b,d){b=b|0;d=d|0;var e=0,f=0;d=i;a[b>>0]=2;b=b+4|0;e=b;f=1;while(1){f=f+ -1|0;c[e>>2]=45;if((f|0)==0)break;else e=e+4|0}c[b+4>>2]=0;i=d;return}function Qo(a){a=a|0;return 0}function Ro(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function So(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function To(a){a=a|0;var b=0;b=i;Us(a);i=b;return}function Uo(a){a=a|0;return}function Vo(a){a=a|0;return 2147483647}function Wo(a){a=a|0;return 2147483647}function Xo(a,b){a=a|0;b=b|0;b=i;c[a+0>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;i=b;return}function Yo(a,b){a=a|0;b=b|0;b=i;c[a+0>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;i=b;return}function Zo(a,b){a=a|0;b=b|0;b=i;c[a+0>>2]=0;c[a+4>>2]=0;c[a+8>>2]=0;i=b;return}function _o(b,d){b=b|0;d=d|0;var e=0,f=0;d=i;a[b>>0]=2;b=b+4|0;e=b;f=1;while(1){f=f+ -1|0;c[e>>2]=45;if((f|0)==0)break;else e=e+4|0}c[b+4>>2]=0;i=d;return}function $o(a){a=a|0;return 0}function ap(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function bp(b,c){b=b|0;c=c|0;a[b>>0]=2;a[b+1>>0]=3;a[b+2>>0]=0;a[b+3>>0]=4;return}function cp(a){a=a|0;var b=0;b=i;Us(a);i=b;return}function dp(a){a=a|0;return}function ep(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;l=i;i=i+240|0;q=l;x=l+132|0;d=l+8|0;r=l+16|0;t=l+130|0;s=l+120|0;p=l+20|0;c[d>>2]=x;m=d+4|0;c[m>>2]=184;o=c[h+28>>2]|0;u=o+4|0;c[u>>2]=(c[u>>2]|0)+1;u=Vp(o,16720)|0;a[t>>0]=0;do if(gp(e,c[f>>2]|0,g,o,c[h+4>>2]|0,j,t,u,d,r,x+100|0)|0){Ad[c[(c[u>>2]|0)+32>>2]&31](u,16352,16362,s)|0;g=c[r>>2]|0;u=c[d>>2]|0;h=g-u|0;if((h|0)>98){v=Ts(h+2|0)|0;if((v|0)==0){x=_b(4)|0;c[x>>2]=24928;ed(x|0,24976,117)}else h=v}else{h=0;v=p}if((a[t>>0]|0)!=0){a[v>>0]=45;v=v+1|0}if(u>>>0<g>>>0){t=s+10|0;g=s;do{w=a[u>>0]|0;x=s;while(1){if((a[x>>0]|0)==w<<24>>24)break;x=x+1|0;if((x|0)==(t|0)){x=t;break}}a[v>>0]=a[16352+(x-g)>>0]|0;u=u+1|0;v=v+1|0}while(u>>>0<(c[r>>2]|0)>>>0)}a[v>>0]=0;c[q>>2]=k;if((Wr(p,16368,q)|0)==1){Us(h);break}else hp(16376)}while(0);k=c[e>>2]|0;if((k|0)!=0){if((c[k+12>>2]|0)==(c[k+16>>2]|0)?(ud[c[(c[k>>2]|0)+36>>2]&127](k)|0)==-1:0){c[e>>2]=0;k=0}}else k=0;p=(k|0)==0;e=c[f>>2]|0;do if((e|0)!=0){if((c[e+12>>2]|0)!=(c[e+16>>2]|0))if(p)break;else{n=27;break}if(!((ud[c[(c[e>>2]|0)+36>>2]&127](e)|0)==-1))if(p)break;else{n=27;break}else{c[f>>2]=0;n=25;break}}else n=25;while(0);if((n|0)==25?p:0)n=27;if((n|0)==27)c[j>>2]=c[j>>2]|2;c[b>>2]=k;w=o+4|0;x=c[w>>2]|0;c[w>>2]=x+ -1;if((x|0)==0)qd[c[(c[o>>2]|0)+8>>2]&255](o);b=c[d>>2]|0;c[d>>2]=0;if((b|0)==0){i=l;return}qd[c[m>>2]&255](b);i=l;return}function fp(a){a=a|0;return}function gp(e,f,g,h,j,k,l,m,n,o,p){e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;l=l|0;m=m|0;n=n|0;o=o|0;p=p|0;var q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0;q=i;i=i+592|0;F=q+76|0;G=q+112|0;M=q;H=q+176|0;I=q+64|0;L=q+24|0;J=q+28|0;K=q+124|0;A=q+148|0;z=q+164|0;C=q+188|0;U=q+192|0;r=q+80|0;E=q+88|0;D=q+104|0;B=q+108|0;t=q+92|0;s=q+40|0;w=q+136|0;v=q+12|0;u=q+52|0;x=q+160|0;c[C>>2]=p;c[r>>2]=U;p=r+4|0;c[p>>2]=184;c[E>>2]=U;c[D>>2]=U+400;c[B>>2]=0;c[t+0>>2]=0;c[t+4>>2]=0;c[t+8>>2]=0;c[s+0>>2]=0;c[s+4>>2]=0;c[s+8>>2]=0;c[w+0>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[v+0>>2]=0;c[v+4>>2]=0;c[v+8>>2]=0;c[u+0>>2]=0;c[u+4>>2]=0;c[u+8>>2]=0;if(g){z=Vp(h,16176)|0;rd[c[(c[z>>2]|0)+44>>2]&127](F,z);c[B>>2]=c[F>>2];rd[c[(c[z>>2]|0)+32>>2]&127](G,z);if((a[v>>0]&1)==0){a[v+1>>0]=0;a[v>>0]=0}else{a[c[v+8>>2]>>0]=0;c[v+4>>2]=0}Pk(v);c[v+0>>2]=c[G+0>>2];c[v+4>>2]=c[G+4>>2];c[v+8>>2]=c[G+8>>2];c[G+0>>2]=0;c[G+4>>2]=0;c[G+8>>2]=0;rd[c[(c[z>>2]|0)+28>>2]&127](M,z);if((a[w>>0]&1)==0){a[w+1>>0]=0;a[w>>0]=0}else{a[c[w+8>>2]>>0]=0;c[w+4>>2]=0}Pk(w);c[w+0>>2]=c[M+0>>2];c[w+4>>2]=c[M+4>>2];c[w+8>>2]=c[M+8>>2];c[M+0>>2]=0;c[M+4>>2]=0;c[M+8>>2]=0;F=ud[c[(c[z>>2]|0)+12>>2]&127](z)|0;G=ud[c[(c[z>>2]|0)+16>>2]&127](z)|0;rd[c[(c[z>>2]|0)+20>>2]&127](H,z);if((a[t>>0]&1)==0){a[t+1>>0]=0;a[t>>0]=0}else{a[c[t+8>>2]>>0]=0;c[t+4>>2]=0}Pk(t);c[t+0>>2]=c[H+0>>2];c[t+4>>2]=c[H+4>>2];c[t+8>>2]=c[H+8>>2];c[H+0>>2]=0;c[H+4>>2]=0;c[H+8>>2]=0;rd[c[(c[z>>2]|0)+24>>2]&127](I,z);if((a[s>>0]&1)==0){a[s+1>>0]=0;a[s>>0]=0}else{a[c[s+8>>2]>>0]=0;c[s+4>>2]=0}Pk(s);c[s+0>>2]=c[I+0>>2];c[s+4>>2]=c[I+4>>2];c[s+8>>2]=c[I+8>>2];c[I+0>>2]=0;c[I+4>>2]=0;c[I+8>>2]=0;T=ud[c[(c[z>>2]|0)+36>>2]&127](z)|0}else{H=Vp(h,16112)|0;rd[c[(c[H>>2]|0)+44>>2]&127](L,H);c[B>>2]=c[L>>2];rd[c[(c[H>>2]|0)+32>>2]&127](J,H);if((a[v>>0]&1)==0){a[v+1>>0]=0;a[v>>0]=0}else{a[c[v+8>>2]>>0]=0;c[v+4>>2]=0}Pk(v);c[v+0>>2]=c[J+0>>2];c[v+4>>2]=c[J+4>>2];c[v+8>>2]=c[J+8>>2];c[J+0>>2]=0;c[J+4>>2]=0;c[J+8>>2]=0;rd[c[(c[H>>2]|0)+28>>2]&127](K,H);if((a[w>>0]&1)==0){a[w+1>>0]=0;a[w>>0]=0}else{a[c[w+8>>2]>>0]=0;c[w+4>>2]=0}Pk(w);c[w+0>>2]=c[K+0>>2];c[w+4>>2]=c[K+4>>2];c[w+8>>2]=c[K+8>>2];c[K+0>>2]=0;c[K+4>>2]=0;c[K+8>>2]=0;F=ud[c[(c[H>>2]|0)+12>>2]&127](H)|0;G=ud[c[(c[H>>2]|0)+16>>2]&127](H)|0;rd[c[(c[H>>2]|0)+20>>2]&127](A,H);if((a[t>>0]&1)==0){a[t+1>>0]=0;a[t>>0]=0}else{a[c[t+8>>2]>>0]=0;c[t+4>>2]=0}Pk(t);c[t+0>>2]=c[A+0>>2];c[t+4>>2]=c[A+4>>2];c[t+8>>2]=c[A+8>>2];c[A+0>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;rd[c[(c[H>>2]|0)+24>>2]&127](z,H);if((a[s>>0]&1)==0){a[s+1>>0]=0;a[s>>0]=0}else{a[c[s+8>>2]>>0]=0;c[s+4>>2]=0}Pk(s);c[s+0>>2]=c[z+0>>2];c[s+4>>2]=c[z+4>>2];c[s+8>>2]=c[z+8>>2];c[z+0>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;T=ud[c[(c[H>>2]|0)+36>>2]&127](H)|0}c[o>>2]=c[n>>2];K=m+8|0;J=v+1|0;L=v+4|0;m=v+8|0;H=w+1|0;I=w+4|0;z=w+8|0;Q=(j&512|0)!=0;P=s+1|0;A=s+8|0;O=s+4|0;g=u+1|0;j=u+8|0;M=u+4|0;N=B+3|0;h=t+4|0;S=0;R=0;a:while(1){V=c[e>>2]|0;do if((V|0)!=0){if((c[V+12>>2]|0)==(c[V+16>>2]|0))if((ud[c[(c[V>>2]|0)+36>>2]&127](V)|0)==-1){c[e>>2]=0;V=0;break}else{V=c[e>>2]|0;break}}else V=0;while(0);V=(V|0)==0;do if((f|0)!=0){if((c[f+12>>2]|0)!=(c[f+16>>2]|0))if(V)break;else{y=269;break a}if(!((ud[c[(c[f>>2]|0)+36>>2]&127](f)|0)==-1)){if(!V){y=269;break a}}else y=38}else y=38;while(0);if((y|0)==38){y=0;if(V){f=0;y=269;break}else f=0}b:do switch(a[B+S>>0]|0){case 2:{if(!((R|0)!=0|S>>>0<2)){if((S|0)==2)V=(a[N>>0]|0)!=0;else V=0;if(!(Q|V)){W=f;R=0;break b}}Y=a[s>>0]|0;W=(Y&1)==0;V=W?P:c[A>>2]|0;c:do if((S|0)!=0?(d[B+(S+ -1)>>0]|0)<2:0){Z=V+(W?(Y&255)>>>1:c[O>>2]|0)|0;X=V;while(1){if((X|0)==(Z|0))break;W=a[X>>0]|0;if(!(W<<24>>24>-1))break;if((b[(c[K>>2]|0)+(W<<24>>24<<1)>>1]&8192)==0)break;else X=X+1|0}$=X-V|0;_=a[u>>0]|0;W=(_&1)==0;if(W)Z=(_&255)>>>1;else Z=c[M>>2]|0;if(!($>>>0>Z>>>0)){if(W){_=(_&255)>>>1;W=u+(_-$)+1|0;Z=g}else{Z=c[j>>2]|0;_=c[M>>2]|0;W=Z+(_-$)|0}Z=Z+_|0;if((W|0)==(Z|0)){W=f;Z=f;V=X}else{_=V;while(1){if((a[W>>0]|0)!=(a[_>>0]|0)){W=f;Z=f;break c}W=W+1|0;if((W|0)==(Z|0)){W=f;Z=f;V=X;break}else _=_+1|0}}}else{W=f;Z=f}}else{W=f;Z=f}while(0);d:while(1){if((Y&1)==0){X=(Y&255)>>>1;Y=P}else{X=c[O>>2]|0;Y=c[A>>2]|0}if((V|0)==(Y+X|0))break;X=c[e>>2]|0;do if((X|0)!=0){if((c[X+12>>2]|0)==(c[X+16>>2]|0))if((ud[c[(c[X>>2]|0)+36>>2]&127](X)|0)==-1){c[e>>2]=0;X=0;break}else{X=c[e>>2]|0;break}}else X=0;while(0);X=(X|0)==0;do if((Z|0)!=0){if((c[Z+12>>2]|0)!=(c[Z+16>>2]|0))if(X){X=W;break}else break d;if(!((ud[c[(c[Z>>2]|0)+36>>2]&127](Z)|0)==-1))if(X^(W|0)==0){X=W;Z=W}else break d;else{W=0;f=0;y=171}}else y=171;while(0);if((y|0)==171){y=0;if(X)break;else{X=W;Z=0}}Y=c[e>>2]|0;W=c[Y+12>>2]|0;if((W|0)==(c[Y+16>>2]|0))W=ud[c[(c[Y>>2]|0)+36>>2]&127](Y)|0;else W=d[W>>0]|0;if(!((W&255)<<24>>24==(a[V>>0]|0))){W=X;break}W=c[e>>2]|0;Y=W+12|0;_=c[Y>>2]|0;if((_|0)==(c[W+16>>2]|0))ud[c[(c[W>>2]|0)+40>>2]&127](W)|0;else c[Y>>2]=_+1;W=X;Y=a[s>>0]|0;V=V+1|0}if(Q){X=a[s>>0]|0;if((X&1)==0){X=(X&255)>>>1;Y=P}else{X=c[O>>2]|0;Y=c[A>>2]|0}if((V|0)!=(Y+X|0)){y=186;break a}}break};case 3:{V=a[w>>0]|0;X=(V&1)==0;if(X)Z=(V&255)>>>1;else Z=c[I>>2]|0;W=a[v>>0]|0;Y=(W&1)==0;if(Y)_=(W&255)>>>1;else _=c[L>>2]|0;if((Z|0)==(0-_|0))W=f;else{if(X)Z=(V&255)>>>1;else Z=c[I>>2]|0;if((Z|0)!=0){if(Y)Y=(W&255)>>>1;else Y=c[L>>2]|0;if((Y|0)!=0){X=c[e>>2]|0;Y=c[X+12>>2]|0;Z=c[X+16>>2]|0;if((Y|0)==(Z|0)){Y=ud[c[(c[X>>2]|0)+36>>2]&127](X)|0;Z=c[e>>2]|0;V=a[w>>0]|0;X=Z;W=c[Z+12>>2]|0;Z=c[Z+16>>2]|0}else{W=Y;Y=d[Y>>0]|0}_=X+12|0;Z=(W|0)==(Z|0);if((Y&255)<<24>>24==(a[((V&1)==0?H:c[z>>2]|0)>>0]|0)){if(Z)ud[c[(c[X>>2]|0)+40>>2]&127](X)|0;else c[_>>2]=W+1;V=a[w>>0]|0;if((V&1)==0)V=(V&255)>>>1;else V=c[I>>2]|0;W=f;R=V>>>0>1?w:R;break b}if(Z)V=ud[c[(c[X>>2]|0)+36>>2]&127](X)|0;else V=d[W>>0]|0;if(!((V&255)<<24>>24==(a[((a[v>>0]&1)==0?J:c[m>>2]|0)>>0]|0))){y=137;break a}X=c[e>>2]|0;V=X+12|0;W=c[V>>2]|0;if((W|0)==(c[X+16>>2]|0))ud[c[(c[X>>2]|0)+40>>2]&127](X)|0;else c[V>>2]=W+1;a[l>>0]=1;V=a[v>>0]|0;if((V&1)==0)V=(V&255)>>>1;else V=c[L>>2]|0;W=f;R=V>>>0>1?v:R;break b}}if(X)Y=(V&255)>>>1;else Y=c[I>>2]|0;Z=c[e>>2]|0;X=c[Z+12>>2]|0;_=(X|0)==(c[Z+16>>2]|0);if((Y|0)==0){if(_){V=ud[c[(c[Z>>2]|0)+36>>2]&127](Z)|0;W=a[v>>0]|0}else V=d[X>>0]|0;if(!((V&255)<<24>>24==(a[((W&1)==0?J:c[m>>2]|0)>>0]|0))){W=f;break b}V=c[e>>2]|0;W=V+12|0;X=c[W>>2]|0;if((X|0)==(c[V+16>>2]|0))ud[c[(c[V>>2]|0)+40>>2]&127](V)|0;else c[W>>2]=X+1;a[l>>0]=1;V=a[v>>0]|0;if((V&1)==0)V=(V&255)>>>1;else V=c[L>>2]|0;W=f;R=V>>>0>1?v:R;break b}if(_){W=ud[c[(c[Z>>2]|0)+36>>2]&127](Z)|0;V=a[w>>0]|0}else W=d[X>>0]|0;if(!((W&255)<<24>>24==(a[((V&1)==0?H:c[z>>2]|0)>>0]|0))){a[l>>0]=1;W=f;break b}X=c[e>>2]|0;W=X+12|0;V=c[W>>2]|0;if((V|0)==(c[X+16>>2]|0))ud[c[(c[X>>2]|0)+40>>2]&127](X)|0;else c[W>>2]=V+1;V=a[w>>0]|0;if((V&1)==0)V=(V&255)>>>1;else V=c[I>>2]|0;W=f;R=V>>>0>1?w:R}break};case 1:{if((S|0)==3){y=269;break a}V=c[e>>2]|0;y=c[V+12>>2]|0;if((y|0)==(c[V+16>>2]|0))y=ud[c[(c[V>>2]|0)+36>>2]&127](V)|0;else y=d[y>>0]|0;if(!((y&255)<<24>>24>-1)){y=51;break a}if((b[(c[K>>2]|0)+(y<<24>>24<<1)>>1]&8192)==0){y=51;break a}V=c[e>>2]|0;y=V+12|0;W=c[y>>2]|0;if((W|0)==(c[V+16>>2]|0))y=ud[c[(c[V>>2]|0)+40>>2]&127](V)|0;else{c[y>>2]=W+1;y=d[W>>0]|0}Qk(u,y&255);y=52;break};case 0:{y=52;break};case 4:{Y=f;X=f;V=0;e:while(1){W=c[e>>2]|0;do if((W|0)!=0){if((c[W+12>>2]|0)==(c[W+16>>2]|0))if((ud[c[(c[W>>2]|0)+36>>2]&127](W)|0)==-1){c[e>>2]=0;W=0;break}else{W=c[e>>2]|0;break}}else W=0;while(0);Z=(W|0)==0;do if((X|0)!=0){if((c[X+12>>2]|0)!=(c[X+16>>2]|0))if(Z){W=Y;break}else{W=Y;break e}if(!((ud[c[(c[X>>2]|0)+36>>2]&127](X)|0)==-1))if(Z^(Y|0)==0){W=Y;X=Y}else{W=Y;break e}else{W=0;f=0;y=196}}else{W=Y;y=196}while(0);if((y|0)==196){y=0;if(Z)break;else X=0}Z=c[e>>2]|0;Y=c[Z+12>>2]|0;if((Y|0)==(c[Z+16>>2]|0))Z=ud[c[(c[Z>>2]|0)+36>>2]&127](Z)|0;else Z=d[Y>>0]|0;Y=Z&255;if(Y<<24>>24>-1?!((b[(c[K>>2]|0)+(Z<<24>>24<<1)>>1]&2048)==0):0){Z=c[o>>2]|0;if((Z|0)==(c[C>>2]|0)){jp(n,o,C);Z=c[o>>2]|0}c[o>>2]=Z+1;a[Z>>0]=Y;V=V+1|0}else{Z=a[t>>0]|0;if((Z&1)==0)Z=(Z&255)>>>1;else Z=c[h>>2]|0;if(!((V|0)!=0&(Z|0)!=0&Y<<24>>24==G<<24>>24))break;if((U|0)==(c[D>>2]|0)){kp(r,E,D);U=c[E>>2]|0}$=U+4|0;c[E>>2]=$;c[U>>2]=V;U=$;V=0}_=c[e>>2]|0;Z=_+12|0;Y=c[Z>>2]|0;if((Y|0)==(c[_+16>>2]|0)){ud[c[(c[_>>2]|0)+40>>2]&127](_)|0;Y=W;continue}else{c[Z>>2]=Y+1;Y=W;continue}}if(!((V|0)==0?1:(c[r>>2]|0)==(U|0))){if((U|0)==(c[D>>2]|0)){kp(r,E,D);U=c[E>>2]|0}$=U+4|0;c[E>>2]=$;c[U>>2]=V;U=$}if((T|0)>0){V=c[e>>2]|0;do if((V|0)!=0){if((c[V+12>>2]|0)==(c[V+16>>2]|0))if((ud[c[(c[V>>2]|0)+36>>2]&127](V)|0)==-1){c[e>>2]=0;V=0;break}else{V=c[e>>2]|0;break}}else V=0;while(0);V=(V|0)==0;do if((W|0)!=0){if((c[W+12>>2]|0)!=(c[W+16>>2]|0))if(V)break;else{y=236;break a}if(!((ud[c[(c[W>>2]|0)+36>>2]&127](W)|0)==-1)){if(!V){y=236;break a}}else{f=0;y=230}}else y=230;while(0);if((y|0)==230){y=0;if(V){y=236;break a}else W=0}V=c[e>>2]|0;X=c[V+12>>2]|0;if((X|0)==(c[V+16>>2]|0))V=ud[c[(c[V>>2]|0)+36>>2]&127](V)|0;else V=d[X>>0]|0;if(!((V&255)<<24>>24==F<<24>>24)){y=236;break a}V=c[e>>2]|0;Y=V+12|0;X=c[Y>>2]|0;if((X|0)==(c[V+16>>2]|0)){ud[c[(c[V>>2]|0)+40>>2]&127](V)|0;X=W;V=W}else{c[Y>>2]=X+1;X=W;V=W}while(1){W=c[e>>2]|0;do if((W|0)!=0){if((c[W+12>>2]|0)==(c[W+16>>2]|0))if((ud[c[(c[W>>2]|0)+36>>2]&127](W)|0)==-1){c[e>>2]=0;W=0;break}else{W=c[e>>2]|0;break}}else W=0;while(0);Y=(W|0)==0;do if((V|0)!=0){if((c[V+12>>2]|0)!=(c[V+16>>2]|0))if(Y){W=X;break}else{y=256;break a}if(!((ud[c[(c[V>>2]|0)+36>>2]&127](V)|0)==-1))if(Y^(X|0)==0){W=X;V=X}else{y=256;break a}else{W=0;f=0;y=249}}else{W=X;y=249}while(0);if((y|0)==249){y=0;if(Y){y=256;break a}else V=0}Y=c[e>>2]|0;X=c[Y+12>>2]|0;if((X|0)==(c[Y+16>>2]|0))X=ud[c[(c[Y>>2]|0)+36>>2]&127](Y)|0;else X=d[X>>0]|0;if(!((X&255)<<24>>24>-1)){y=256;break a}if((b[(c[K>>2]|0)+(X<<24>>24<<1)>>1]&2048)==0){y=256;break a}if((c[o>>2]|0)==(c[C>>2]|0))jp(n,o,C);Y=c[e>>2]|0;X=c[Y+12>>2]|0;if((X|0)==(c[Y+16>>2]|0))X=ud[c[(c[Y>>2]|0)+36>>2]&127](Y)|0;else X=d[X>>0]|0;Z=c[o>>2]|0;c[o>>2]=Z+1;a[Z>>0]=X;T=T+ -1|0;Z=c[e>>2]|0;Y=Z+12|0;X=c[Y>>2]|0;if((X|0)==(c[Z+16>>2]|0))ud[c[(c[Z>>2]|0)+40>>2]&127](Z)|0;else c[Y>>2]=X+1;if((T|0)>0)X=W;else break}}if((c[o>>2]|0)==(c[n>>2]|0)){y=267;break a}break};default:W=f}while(0);f:do if((y|0)==52){y=0;if((S|0)==3){y=269;break a}else{W=f;X=f}while(1){V=c[e>>2]|0;do if((V|0)!=0){if((c[V+12>>2]|0)==(c[V+16>>2]|0))if((ud[c[(c[V>>2]|0)+36>>2]&127](V)|0)==-1){c[e>>2]=0;V=0;break}else{V=c[e>>2]|0;break}}else V=0;while(0);V=(V|0)==0;do if((X|0)!=0){if((c[X+12>>2]|0)!=(c[X+16>>2]|0))if(V){V=W;break}else break f;if(!((ud[c[(c[X>>2]|0)+36>>2]&127](X)|0)==-1))if(V^(W|0)==0){V=W;X=W}else break f;else{W=0;f=0;y=62}}else y=62;while(0);if((y|0)==62){y=0;if(V)break f;else{V=W;X=0}}Y=c[e>>2]|0;W=c[Y+12>>2]|0;if((W|0)==(c[Y+16>>2]|0))W=ud[c[(c[Y>>2]|0)+36>>2]&127](Y)|0;else W=d[W>>0]|0;if(!((W&255)<<24>>24>-1)){W=V;break f}if((b[(c[K>>2]|0)+(W<<24>>24<<1)>>1]&8192)==0){W=V;break f}Z=c[e>>2]|0;W=Z+12|0;Y=c[W>>2]|0;if((Y|0)==(c[Z+16>>2]|0))W=ud[c[(c[Z>>2]|0)+40>>2]&127](Z)|0;else{c[W>>2]=Y+1;W=d[Y>>0]|0}Qk(u,W&255);W=V}}while(0);S=S+1|0;if(!(S>>>0<4)){f=W;y=269;break}}g:do if((y|0)==51){c[k>>2]=c[k>>2]|4;x=0}else if((y|0)==137){c[k>>2]=c[k>>2]|4;x=0}else if((y|0)==186){c[k>>2]=c[k>>2]|4;x=0}else if((y|0)==236){c[k>>2]=c[k>>2]|4;x=0}else if((y|0)==256){c[k>>2]=c[k>>2]|4;x=0}else if((y|0)==267){c[k>>2]=c[k>>2]|4;x=0}else if((y|0)==269){h:do if((R|0)!=0){l=R+1|0;B=R+8|0;C=R+4|0;E=f;o=f;D=1;i:while(1){n=a[R>>0]|0;if((n&1)==0)n=(n&255)>>>1;else n=c[C>>2]|0;if(!(D>>>0<n>>>0))break h;n=c[e>>2]|0;do if((n|0)!=0){if((c[n+12>>2]|0)==(c[n+16>>2]|0))if((ud[c[(c[n>>2]|0)+36>>2]&127](n)|0)==-1){c[e>>2]=0;n=0;break}else{n=c[e>>2]|0;break}}else n=0;while(0);F=(n|0)==0;do if((o|0)!=0){if((c[o+12>>2]|0)!=(c[o+16>>2]|0))if(F){n=E;break}else break i;if(!((ud[c[(c[o>>2]|0)+36>>2]&127](o)|0)==-1))if(F^(E|0)==0){n=E;o=E}else break i;else{n=0;y=284}}else{n=E;y=284}while(0);if((y|0)==284){y=0;if(F)break;else o=0}F=c[e>>2]|0;E=c[F+12>>2]|0;if((E|0)==(c[F+16>>2]|0))E=ud[c[(c[F>>2]|0)+36>>2]&127](F)|0;else E=d[E>>0]|0;if((a[R>>0]&1)==0)F=l;else F=c[B>>2]|0;if(!((E&255)<<24>>24==(a[F+D>>0]|0)))break;D=D+1|0;E=c[e>>2]|0;G=E+12|0;F=c[G>>2]|0;if((F|0)==(c[E+16>>2]|0)){ud[c[(c[E>>2]|0)+40>>2]&127](E)|0;E=n;continue}else{c[G>>2]=F+1;E=n;continue}}c[k>>2]=c[k>>2]|4;x=0;break g}while(0);e=c[r>>2]|0;if((e|0)!=(U|0)?(c[x>>2]=0,lp(t,e,U,x),(c[x>>2]|0)!=0):0){c[k>>2]=c[k>>2]|4;x=0}else x=1}while(0);if(!((a[u>>0]&1)==0))Us(c[j>>2]|0);if(!((a[v>>0]&1)==0))Us(c[m>>2]|0);if(!((a[w>>0]&1)==0))Us(c[z>>2]|0);if(!((a[s>>0]&1)==0))Us(c[A>>2]|0);if(!((a[t>>0]&1)==0))Us(c[t+8>>2]|0);s=c[r>>2]|0;c[r>>2]=0;if((s|0)==0){i=q;return x|0}qd[c[p>>2]&255](s);i=q;return x|0}function hp(a){a=a|0;var b=0,d=0,e=0,f=0;b=_b(8)|0;c[b>>2]=25152;d=ot(a|0)|0;f=bs(d+13|0)|0;c[f+4>>2]=d;c[f>>2]=d;e=f+12|0;c[b+4>>2]=e;c[f+8>>2]=0;pt(e|0,a|0,d+1|0)|0;ed(b|0,25288,121)}function ip(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;d=i;i=i+128|0;u=d+20|0;n=d+8|0;q=d;s=d+16|0;c[n>>2]=u;l=n+4|0;c[l>>2]=184;p=c[h+28>>2]|0;r=p+4|0;c[r>>2]=(c[r>>2]|0)+1;r=Vp(p,16720)|0;a[s>>0]=0;o=c[f>>2]|0;do if(gp(e,o,g,p,c[h+4>>2]|0,j,s,r,n,q,u+100|0)|0){if((a[k>>0]&1)==0){a[k+1>>0]=0;a[k>>0]=0}else{a[c[k+8>>2]>>0]=0;c[k+4>>2]=0}if((a[s>>0]|0)!=0)Qk(k,Dd[c[(c[r>>2]|0)+28>>2]&127](r,45)|0);g=Dd[c[(c[r>>2]|0)+28>>2]&127](r,48)|0;r=c[n>>2]|0;q=c[q>>2]|0;h=q+ -1|0;a:do if(r>>>0<h>>>0)while(1){s=r+1|0;if(!((a[r>>0]|0)==g<<24>>24))break a;if(s>>>0<h>>>0)r=s;else{r=s;break}}while(0);t=r;g=a[k>>0]|0;if((g&1)==0){s=g;u=10;g=(g&255)>>>1}else{u=c[k>>2]|0;s=u&255;u=(u&-2)+ -1|0;g=c[k+4>>2]|0}h=q-t|0;if((q|0)!=(r|0)){if((u-g|0)>>>0<h>>>0){Tk(k,u,g+h-u|0,g,g,0);s=a[k>>0]|0}if((s&1)==0)s=k+1|0;else s=c[k+8>>2]|0;t=q+(g-t)|0;u=s+g|0;while(1){a[u>>0]=a[r>>0]|0;r=r+1|0;if((r|0)==(q|0))break;u=u+1|0}a[s+t>>0]=0;q=g+h|0;if((a[k>>0]&1)==0){a[k>>0]=q<<1;break}else{c[k+4>>2]=q;break}}}while(0);k=c[e>>2]|0;if((k|0)!=0){if((c[k+12>>2]|0)==(c[k+16>>2]|0)?(ud[c[(c[k>>2]|0)+36>>2]&127](k)|0)==-1:0){c[e>>2]=0;k=0}}else k=0;e=(k|0)==0;do if((o|0)!=0){if((c[o+12>>2]|0)!=(c[o+16>>2]|0))if(e)break;else{m=36;break}if(!((ud[c[(c[o>>2]|0)+36>>2]&127](o)|0)==-1))if(e)break;else{m=36;break}else{c[f>>2]=0;m=34;break}}else m=34;while(0);if((m|0)==34?e:0)m=36;if((m|0)==36)c[j>>2]=c[j>>2]|2;c[b>>2]=k;t=p+4|0;u=c[t>>2]|0;c[t>>2]=u+ -1;if((u|0)==0)qd[c[(c[p>>2]|0)+8>>2]&255](p);b=c[n>>2]|0;c[n>>2]=0;if((b|0)==0){i=d;return}qd[c[l>>2]&255](b);i=d;return}function jp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;e=i;f=a+4|0;k=(c[f>>2]|0)!=184;j=c[a>>2]|0;g=j;h=(c[d>>2]|0)-g|0;h=h>>>0<2147483647?h<<1:-1;g=(c[b>>2]|0)-g|0;j=Vs(k?j:0,h)|0;if((j|0)==0){k=_b(4)|0;c[k>>2]=24928;ed(k|0,24976,117)}if(!k){k=c[a>>2]|0;c[a>>2]=j;if((k|0)!=0){qd[c[f>>2]&255](k);j=c[a>>2]|0}}else c[a>>2]=j;c[f>>2]=185;c[b>>2]=j+g;c[d>>2]=(c[a>>2]|0)+h;i=e;return}function kp(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0;g=i;h=a+4|0;j=(c[h>>2]|0)!=184;k=c[a>>2]|0;e=k;f=(c[d>>2]|0)-e|0;f=f>>>0<2147483647?f<<1:-1;e=(c[b>>2]|0)-e>>2;if(!j)k=0;k=Vs(k,f)|0;if((k|0)==0){k=_b(4)|0;c[k>>2]=24928;ed(k|0,24976,117)}if(!j){j=c[a>>2]|0;c[a>>2]=k;if((j|0)!=0){qd[c[h>>2]&255](j);k=c[a>>2]|0}}else c[a>>2]=k;c[h>>2]=185;c[b>>2]=k+(e<<2);c[d>>2]=(c[a>>2]|0)+(f>>>2<<2);i=g;return}function lp(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0;g=i;k=a[b>>0]|0;if((k&1)==0)j=(k&255)>>>1;else j=c[b+4>>2]|0;if((j|0)==0){i=g;return}if((d|0)!=(e|0)?(h=e+ -4|0,h>>>0>d>>>0):0){j=d;do{k=c[j>>2]|0;c[j>>2]=c[h>>2];c[h>>2]=k;j=j+4|0;h=h+ -4|0}while(j>>>0<h>>>0);k=a[b>>0]|0}if((k&1)==0){h=b+1|0;b=(k&255)>>>1}else{h=c[b+8>>2]|0;b=c[b+4>>2]|0}e=e+ -4|0;k=a[h>>0]|0;j=k<<24>>24<1|k<<24>>24==127;a:do if(e>>>0>d>>>0){b=h+b|0;while(1){if(!j?(k<<24>>24|0)!=(c[d>>2]|0):0)break;h=(b-h|0)>1?h+1|0:h;d=d+4|0;k=a[h>>0]|0;j=k<<24>>24<1|k<<24>>24==127;if(!(d>>>0<e>>>0))break a}c[f>>2]=4;i=g;return}while(0);if(j){i=g;return}j=c[e>>2]|0;if(!(k<<24>>24>>>0<j>>>0|(j|0)==0)){i=g;return}c[f>>2]=4;i=g;return}function mp(a){a=a|0;var b=0;b=i;Us(a);i=b;return}function np(a){a=a|0;return}function op(b,d,e,f,g,h,j,k){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;j=j|0;k=k|0;var l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;n=i;i=i+576|0;q=n;x=n+16|0;m=n+8|0;r=n+456|0;t=n+560|0;s=n+416|0;p=n+460|0;c[m>>2]=x;d=m+4|0;c[d>>2]=184;o=c[h+28>>2]|0;u=o+4|0;c[u>>2]=(c[u>>2]|0)+1;u=Vp(o,16712)|0;a[t>>0]=0;do if(pp(e,c[f>>2]|0,g,o,c[h+4>>2]|0,j,t,u,m,r,x+400|0)|0){Ad[c[(c[u>>2]|0)+48>>2]&31](u,16432,16442,s)|0;u=c[r>>2]|0;g=c[m>>2]|0;h=u-g|0;if((h|0)>392){v=Ts((h>>2)+2|0)|0;if((v|0)==0){x=_b(4)|0;c[x>>2]=24928;ed(x|0,24976,117)}else h=v}else{h=0;v=p}if((a[t>>0]|0)!=0){a[v>>0]=45;v=v+1|0}if(g>>>0<u>>>0){u=s+40|0;t=s;do{w=c[g>>2]|0;x=s;while(1){if((c[x>>2]|0)==(w|0))break;x=x+4|0;if((x|0)==(u|0)){x=u;break}}a[v>>0]=a[16432+(x-t>>2)>>0]|0;g=g+4|0;v=v+1|0}while(g>>>0<(c[r>>2]|0)>>>0)}a[v>>0]=0;c[q>>2]=k;if((Wr(p,16368,q)|0)==1){Us(h);break}else hp(16376)}while(0);k=c[e>>2]|0;if((k|0)!=0){p=c[k+12>>2]|0;if((p|0)==(c[k+16>>2]|0))p=ud[c[(c[k>>2]|0)+36>>2]&127](k)|0;else p=c[p>>2]|0;if((p|0)==-1){c[e>>2]=0;k=0;e=1}else e=0}else{k=0;e=1}p=c[f>>2]|0;do if((p|0)!=0){q=c[p+12>>2]|0;if((q|0)==(c[p+16>>2]|0))p=ud[c[(c[p>>2]|0)+36>>2]&127](p)|0;else p=c[q>>2]|0;if(!((p|0)==-1))if(e)break;else{l=30;break}else{c[f>>2]=0;l=28;break}}else l=28;while(0);if((l|0)==28?e:0)l=30;if((l|0)==30)c[j>>2]=c[j>>2]|2;c[b>>2]=k;w=o+4|0;x=c[w>>2]|0;c[w>>2]=x+ -1;if((x|0)==0)qd[c[(c[o>>2]|0)+8>>2]&255](o);l=c[m>>2]|0;c[m>>2]=0;if((l|0)==0){i=n;return}qd[c[d>>2]&255](l);i=n;return}
function Sh(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=i;i=i+48|0;k=j;d=c[d+336>>2]|0;l=1;m=0;n=c[e+84>>2]|0;e=k;while(1){if(!l){l=0;break}l=(da(b[f>>1]|0,c[n>>2]|0)|0)<<13|1024;o=(da(b[f+32>>1]|0,c[n+64>>2]|0)|0)*5793|0;q=l+o|0;p=(da(b[f+16>>1]|0,c[n+32>>2]|0)|0)*10033|0;c[e>>2]=q+p>>11;c[e+24>>2]=q-p>>11;c[e+12>>2]=l-o-o>>11;o=m+1|0;l=(o|0)<3;m=o;f=f+2|0;n=n+4|0;e=e+4|0}while(1){if((l|0)>=3)break;q=c[g+(l<<2)>>2]|0;o=(c[k>>2]<<13)+131072|0;p=(c[k+8>>2]|0)*5793|0;e=o+p|0;n=(c[k+4>>2]|0)*10033|0;a[q+h>>0]=a[d+(((e+n|0)>>>18&1023)+128)>>0]|0;a[q+(h+2)>>0]=a[d+(((e-n|0)>>>18&1023)+128)>>0]|0;a[q+(h+1)>>0]=a[d+(((o-p-p|0)>>>18&1023)+128)>>0]|0;l=l+1|0;k=k+12|0}i=j;return}function Th(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0;j=c[d+336>>2]|0;e=c[e+84>>2]|0;d=da(b[f>>1]|0,c[e>>2]|0)|0;i=da(b[f+16>>1]|0,c[e+32>>2]|0)|0;d=d+4|0;k=d+i|0;i=d-i|0;d=da(b[f+2>>1]|0,c[e+4>>2]|0)|0;e=da(b[f+18>>1]|0,c[e+36>>2]|0)|0;f=d+e|0;e=d-e|0;d=c[g>>2]|0;a[d+h>>0]=a[j+(((k+f|0)>>>3&1023)+128)>>0]|0;a[d+(h+1)>>0]=a[j+(((k-f|0)>>>3&1023)+128)>>0]|0;d=c[g+4>>2]|0;a[d+h>>0]=a[j+(((i+e|0)>>>3&1023)+128)>>0]|0;a[d+(h+1)>>0]=a[j+(((i-e|0)>>>3&1023)+128)>>0]|0;return}function Uh(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;d=a[(c[d+336>>2]|0)+((((da(b[f>>1]|0,c[c[e+84>>2]>>2]|0)|0)+4|0)>>>3&1023)+128)>>0]|0;a[(c[g>>2]|0)+h>>0]=d;return}function Vh(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;j=i;i=i+288|0;k=j;d=c[d+336>>2]|0;l=1;m=0;n=c[e+84>>2]|0;e=k;while(1){if(!l){l=0;break}o=(da(b[f>>1]|0,c[n>>2]|0)|0)<<13|1024;y=da(b[f+32>>1]|0,c[n+64>>2]|0)|0;q=da(b[f+64>>1]|0,c[n+128>>2]|0)|0;l=(da(b[f+96>>1]|0,c[n+192>>2]|0)|0)*5793|0;z=o+l|0;l=o-l-l|0;o=(y-q|0)*5793|0;u=l+o|0;s=(y+q|0)*10887|0;y=y*8875|0;q=q*2012|0;w=z+s-q|0;s=z-s+y|0;q=z-y+q|0;y=da(b[f+16>>1]|0,c[n+32>>2]|0)|0;z=da(b[f+48>>1]|0,c[n+96>>2]|0)|0;x=da(b[f+80>>1]|0,c[n+160>>2]|0)|0;t=da(b[f+112>>1]|0,c[n+224>>2]|0)|0;z=da(z,-10033)|0;r=(y+x|0)*7447|0;A=(y+t|0)*3962|0;v=r+A-z|0;p=(x-t|0)*11409|0;r=r+(z-p)|0;p=A+(z+p)|0;t=(y-x-t|0)*10033|0;c[e>>2]=w+v>>11;c[e+256>>2]=w-v>>11;c[e+32>>2]=u+t>>11;c[e+224>>2]=u-t>>11;c[e+64>>2]=s+r>>11;c[e+192>>2]=s-r>>11;c[e+96>>2]=q+p>>11;c[e+160>>2]=q-p>>11;c[e+128>>2]=l-o-o>>11;o=m+1|0;l=(o|0)<8;m=o;f=f+2|0;n=n+4|0;e=e+4|0}while(1){if((l|0)>=9)break;A=c[g+(l<<2)>>2]|0;z=(c[k>>2]<<13)+131072|0;o=c[k+8>>2]|0;w=c[k+16>>2]|0;y=(c[k+24>>2]|0)*5793|0;p=z+y|0;y=z-y-y|0;z=(o-w|0)*5793|0;s=y+z|0;u=(o+w|0)*10887|0;o=o*8875|0;w=w*2012|0;q=p+u-w|0;u=p-u+o|0;w=p-o+w|0;o=c[k+4>>2]|0;p=c[k+20>>2]|0;t=c[k+28>>2]|0;n=da(c[k+12>>2]|0,-10033)|0;v=(o+p|0)*7447|0;e=(o+t|0)*3962|0;r=v+e-n|0;x=(p-t|0)*11409|0;v=v+(n-x)|0;x=e+(n+x)|0;t=(o-p-t|0)*10033|0;a[A+h>>0]=a[d+(((q+r|0)>>>18&1023)+128)>>0]|0;a[A+(h+8)>>0]=a[d+(((q-r|0)>>>18&1023)+128)>>0]|0;a[A+(h+1)>>0]=a[d+(((s+t|0)>>>18&1023)+128)>>0]|0;a[A+(h+7)>>0]=a[d+(((s-t|0)>>>18&1023)+128)>>0]|0;a[A+(h+2)>>0]=a[d+(((u+v|0)>>>18&1023)+128)>>0]|0;a[A+(h+6)>>0]=a[d+(((u-v|0)>>>18&1023)+128)>>0]|0;a[A+(h+3)>>0]=a[d+(((w+x|0)>>>18&1023)+128)>>0]|0;a[A+(h+5)>>0]=a[d+(((w-x|0)>>>18&1023)+128)>>0]|0;a[A+(h+4)>>0]=a[d+(((y-z-z|0)>>>18&1023)+128)>>0]|0;l=l+1|0;k=k+32|0}i=j;return}function Wh(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;j=i;i=i+320|0;k=j;d=c[d+336>>2]|0;l=1;m=0;n=c[e+84>>2]|0;e=k;while(1){if(!l){l=0;break}l=(da(b[f>>1]|0,c[n>>2]|0)|0)<<13|1024;s=da(b[f+64>>1]|0,c[n+128>>2]|0)|0;u=l+(s*9373|0)|0;y=l+(da(s,-3580)|0)|0;s=l+(da(s,-11586)|0)>>11;l=da(b[f+32>>1]|0,c[n+64>>2]|0)|0;q=da(b[f+96>>1]|0,c[n+192>>2]|0)|0;w=(l+q|0)*6810|0;l=w+(l*4209|0)|0;q=w+(da(q,-17828)|0)|0;w=u+l|0;l=u-l|0;u=y+q|0;q=y-q|0;y=da(b[f+16>>1]|0,c[n+32>>2]|0)|0;p=da(b[f+48>>1]|0,c[n+96>>2]|0)|0;r=da(b[f+80>>1]|0,c[n+160>>2]|0)|0;t=da(b[f+112>>1]|0,c[n+224>>2]|0)|0;x=p+t|0;t=p-t|0;p=t*2531|0;z=r<<13;A=x*7791|0;o=z+p|0;v=(y*11443|0)+A+o|0;o=(y*1812|0)-A+o|0;x=x*4815|0;p=z-p-(t<<12)|0;r=y-t-r<<2;t=(y*10323|0)-x-p|0;p=(y*5260|0)-x+p|0;c[e>>2]=w+v>>11;c[e+288>>2]=w-v>>11;c[e+32>>2]=u+t>>11;c[e+256>>2]=u-t>>11;c[e+64>>2]=s+r;c[e+224>>2]=s-r;c[e+96>>2]=q+p>>11;c[e+192>>2]=q-p>>11;c[e+128>>2]=l+o>>11;c[e+160>>2]=l-o>>11;o=m+1|0;l=(o|0)<8;m=o;f=f+2|0;n=n+4|0;e=e+4|0}while(1){if((l|0)>=10)break;A=c[g+(l<<2)>>2]|0;y=(c[k>>2]<<13)+131072|0;u=c[k+16>>2]|0;s=y+(u*9373|0)|0;o=y+(da(u,-3580)|0)|0;u=y+(da(u,-11586)|0)|0;y=c[k+8>>2]|0;w=c[k+24>>2]|0;q=(y+w|0)*6810|0;y=q+(y*4209|0)|0;w=q+(da(w,-17828)|0)|0;q=s+y|0;y=s-y|0;s=o+w|0;w=o-w|0;o=c[k+4>>2]|0;x=c[k+12>>2]|0;v=c[k+20>>2]<<13;t=c[k+28>>2]|0;p=x+t|0;t=x-t|0;x=t*2531|0;n=p*7791|0;z=v+x|0;r=(o*11443|0)+n+z|0;z=(o*1812|0)-n+z|0;p=p*4815|0;x=v-x-(t<<12)|0;v=(o-t<<13)-v|0;t=(o*10323|0)-p-x|0;x=(o*5260|0)-p+x|0;a[A+h>>0]=a[d+(((q+r|0)>>>18&1023)+128)>>0]|0;a[A+(h+9)>>0]=a[d+(((q-r|0)>>>18&1023)+128)>>0]|0;a[A+(h+1)>>0]=a[d+(((s+t|0)>>>18&1023)+128)>>0]|0;a[A+(h+8)>>0]=a[d+(((s-t|0)>>>18&1023)+128)>>0]|0;a[A+(h+2)>>0]=a[d+(((u+v|0)>>>18&1023)+128)>>0]|0;a[A+(h+7)>>0]=a[d+(((u-v|0)>>>18&1023)+128)>>0]|0;a[A+(h+3)>>0]=a[d+(((w+x|0)>>>18&1023)+128)>>0]|0;a[A+(h+6)>>0]=a[d+(((w-x|0)>>>18&1023)+128)>>0]|0;a[A+(h+4)>>0]=a[d+(((y+z|0)>>>18&1023)+128)>>0]|0;a[A+(h+5)>>0]=a[d+(((y-z|0)>>>18&1023)+128)>>0]|0;l=l+1|0;k=k+32|0}i=j;return}function Xh(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;j=i;i=i+352|0;k=j;d=c[d+336>>2]|0;l=1;m=0;n=c[e+84>>2]|0;e=k;while(1){if(!l){l=0;break}w=(da(b[f>>1]|0,c[n>>2]|0)|0)<<13|1024;p=da(b[f+32>>1]|0,c[n+64>>2]|0)|0;z=da(b[f+64>>1]|0,c[n+128>>2]|0)|0;t=da(b[f+96>>1]|0,c[n+192>>2]|0)|0;x=(z-t|0)*20862|0;r=(z-p|0)*3529|0;l=p+t|0;o=l-z|0;y=w+(o*11116|0)|0;v=x+r+y+(da(z,-14924)|0)|0;x=x+(y+(t*17333|0))|0;r=r+(y+(da(p,-12399)|0))|0;y=(da(l,-9467)|0)+y|0;t=y+(da(t,-6461)|0)|0;p=y+((z*15929|0)+(da(p,-11395)|0))|0;o=w+(da(o,-11585)|0)|0;w=da(b[f+16>>1]|0,c[n+32>>2]|0)|0;z=da(b[f+48>>1]|0,c[n+96>>2]|0)|0;y=da(b[f+80>>1]|0,c[n+160>>2]|0)|0;l=da(b[f+112>>1]|0,c[n+224>>2]|0)|0;C=w+z|0;A=(C+y+l|0)*3264|0;C=C*7274|0;s=(w+y|0)*5492|0;B=A+((w+l|0)*3e3|0)|0;w=C+s+B+(da(w,-7562)|0)|0;u=A+(da(z+y|0,-9527)|0)|0;s=s+(u+(da(y,-9766)|0))|0;q=da(z+l|0,-14731)|0;u=C+(u+(z*16984|0))+q|0;q=B+(q+(l*17223|0))|0;l=A+((da(z,-12019)|0)+(y*8203|0)+(da(l,-13802)|0))|0;c[e>>2]=x+w>>11;c[e+320>>2]=x-w>>11;c[e+32>>2]=v+u>>11;c[e+288>>2]=v-u>>11;c[e+64>>2]=t+s>>11;c[e+256>>2]=t-s>>11;c[e+96>>2]=r+q>>11;c[e+224>>2]=r-q>>11;c[e+128>>2]=p+l>>11;c[e+192>>2]=p-l>>11;c[e+160>>2]=o>>11;o=m+1|0;l=(o|0)<8;m=o;f=f+2|0;n=n+4|0;e=e+4|0}while(1){if((l|0)>=11)break;C=c[g+(l<<2)>>2]|0;s=(c[k>>2]<<13)+131072|0;z=c[k+8>>2]|0;p=c[k+16>>2]|0;v=c[k+24>>2]|0;r=(p-v|0)*20862|0;x=(p-z|0)*3529|0;A=z+v|0;B=A-p|0;q=s+(B*11116|0)|0;t=r+x+q+(da(p,-14924)|0)|0;r=r+(q+(v*17333|0))|0;x=x+(q+(da(z,-12399)|0))|0;q=(da(A,-9467)|0)+q|0;v=q+(da(v,-6461)|0)|0;z=q+((p*15929|0)+(da(z,-11395)|0))|0;B=s+(da(B,-11585)|0)|0;s=c[k+4>>2]|0;p=c[k+12>>2]|0;q=c[k+20>>2]|0;A=c[k+28>>2]|0;e=s+p|0;o=(e+q+A|0)*3264|0;e=e*7274|0;w=(s+q|0)*5492|0;n=o+((s+A|0)*3e3|0)|0;s=e+w+n+(da(s,-7562)|0)|0;u=o+(da(p+q|0,-9527)|0)|0;w=w+(u+(da(q,-9766)|0))|0;y=da(p+A|0,-14731)|0;u=e+(u+(p*16984|0))+y|0;y=n+(y+(A*17223|0))|0;A=o+((da(p,-12019)|0)+(q*8203|0)+(da(A,-13802)|0))|0;a[C+h>>0]=a[d+(((r+s|0)>>>18&1023)+128)>>0]|0;a[C+(h+10)>>0]=a[d+(((r-s|0)>>>18&1023)+128)>>0]|0;a[C+(h+1)>>0]=a[d+(((t+u|0)>>>18&1023)+128)>>0]|0;a[C+(h+9)>>0]=a[d+(((t-u|0)>>>18&1023)+128)>>0]|0;a[C+(h+2)>>0]=a[d+(((v+w|0)>>>18&1023)+128)>>0]|0;a[C+(h+8)>>0]=a[d+(((v-w|0)>>>18&1023)+128)>>0]|0;a[C+(h+3)>>0]=a[d+(((x+y|0)>>>18&1023)+128)>>0]|0;a[C+(h+7)>>0]=a[d+(((x-y|0)>>>18&1023)+128)>>0]|0;a[C+(h+4)>>0]=a[d+(((z+A|0)>>>18&1023)+128)>>0]|0;a[C+(h+6)>>0]=a[d+(((z-A|0)>>>18&1023)+128)>>0]|0;a[C+(h+5)>>0]=a[d+((B>>>18&1023)+128)>>0]|0;l=l+1|0;k=k+32|0}i=j;return}function Yh(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;j=i;i=i+384|0;k=j;d=c[d+336>>2]|0;l=1;m=0;n=c[e+84>>2]|0;e=k;while(1){if(!l){l=0;break}l=(da(b[f>>1]|0,c[n>>2]|0)|0)<<13|1024;A=(da(b[f+64>>1]|0,c[n+128>>2]|0)|0)*10033|0;p=l+A|0;A=l-A|0;u=da(b[f+32>>1]|0,c[n+64>>2]|0)|0;z=u*11190|0;u=u<<13;s=(da(b[f+96>>1]|0,c[n+192>>2]|0)|0)<<13;q=u-s|0;w=l+q|0;q=l-q|0;l=z+s|0;y=p+l|0;l=p-l|0;s=z-u-s|0;u=A+s|0;s=A-s|0;A=da(b[f+16>>1]|0,c[n+32>>2]|0)|0;z=da(b[f+48>>1]|0,c[n+96>>2]|0)|0;p=da(b[f+80>>1]|0,c[n+160>>2]|0)|0;v=da(b[f+112>>1]|0,c[n+224>>2]|0)|0;r=z*10703|0;o=da(z,-4433)|0;t=A+p|0;B=(t+v|0)*7053|0;t=B+(t*2139|0)|0;x=t+r+(A*2295|0)|0;C=da(p+v|0,-8565)|0;t=t+(C+o+(da(p,-12112)|0))|0;r=C+(B-r+(v*12998|0))|0;o=B+(o+(da(A,-5540)|0)+(da(v,-16244)|0))|0;v=A-v|0;p=z-p|0;z=(v+p|0)*4433|0;v=z+(v*6270|0)|0;p=z+(da(p,-15137)|0)|0;c[e>>2]=y+x>>11;c[e+352>>2]=y-x>>11;c[e+32>>2]=w+v>>11;c[e+320>>2]=w-v>>11;c[e+64>>2]=u+t>>11;c[e+288>>2]=u-t>>11;c[e+96>>2]=s+r>>11;c[e+256>>2]=s-r>>11;c[e+128>>2]=q+p>>11;c[e+224>>2]=q-p>>11;c[e+160>>2]=l+o>>11;c[e+192>>2]=l-o>>11;o=m+1|0;l=(o|0)<8;m=o;f=f+2|0;n=n+4|0;e=e+4|0}while(1){if((l|0)>=12)break;C=c[g+(l<<2)>>2]|0;A=(c[k>>2]<<13)+131072|0;o=(c[k+16>>2]|0)*10033|0;z=A+o|0;o=A-o|0;u=c[k+8>>2]|0;p=u*11190|0;u=u<<13;w=c[k+24>>2]<<13;y=u-w|0;s=A+y|0;y=A-y|0;A=p+w|0;q=z+A|0;A=z-A|0;w=p-u-w|0;u=o+w|0;w=o-w|0;o=c[k+4>>2]|0;p=c[k+12>>2]|0;z=c[k+20>>2]|0;t=c[k+28>>2]|0;x=p*10703|0;B=da(p,-4433)|0;v=o+z|0;n=(v+t|0)*7053|0;v=n+(v*2139|0)|0;r=v+x+(o*2295|0)|0;e=da(z+t|0,-8565)|0;v=v+(e+B+(da(z,-12112)|0))|0;x=e+(n-x+(t*12998|0))|0;B=n+(B+(da(o,-5540)|0)+(da(t,-16244)|0))|0;t=o-t|0;z=p-z|0;p=(t+z|0)*4433|0;t=p+(t*6270|0)|0;z=p+(da(z,-15137)|0)|0;a[C+h>>0]=a[d+(((q+r|0)>>>18&1023)+128)>>0]|0;a[C+(h+11)>>0]=a[d+(((q-r|0)>>>18&1023)+128)>>0]|0;a[C+(h+1)>>0]=a[d+(((s+t|0)>>>18&1023)+128)>>0]|0;a[C+(h+10)>>0]=a[d+(((s-t|0)>>>18&1023)+128)>>0]|0;a[C+(h+2)>>0]=a[d+(((u+v|0)>>>18&1023)+128)>>0]|0;a[C+(h+9)>>0]=a[d+(((u-v|0)>>>18&1023)+128)>>0]|0;a[C+(h+3)>>0]=a[d+(((w+x|0)>>>18&1023)+128)>>0]|0;a[C+(h+8)>>0]=a[d+(((w-x|0)>>>18&1023)+128)>>0]|0;a[C+(h+4)>>0]=a[d+(((y+z|0)>>>18&1023)+128)>>0]|0;a[C+(h+7)>>0]=a[d+(((y-z|0)>>>18&1023)+128)>>0]|0;a[C+(h+5)>>0]=a[d+(((A+B|0)>>>18&1023)+128)>>0]|0;a[C+(h+6)>>0]=a[d+(((A-B|0)>>>18&1023)+128)>>0]|0;l=l+1|0;k=k+32|0}i=j;return}function Zh(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;j=i;i=i+416|0;k=j;d=c[d+336>>2]|0;l=1;m=0;n=c[e+84>>2]|0;e=k;while(1){if(!l){l=0;break}o=(da(b[f>>1]|0,c[n>>2]|0)|0)<<13|1024;l=da(b[f+32>>1]|0,c[n+64>>2]|0)|0;t=da(b[f+64>>1]|0,c[n+128>>2]|0)|0;p=da(b[f+96>>1]|0,c[n+192>>2]|0)|0;F=t+p|0;p=t-p|0;t=F*9465|0;x=(p*793|0)+o|0;B=(l*11249|0)+t+x|0;x=(l*4108|0)-t+x|0;t=F*2592|0;r=(p*3989|0)+o|0;z=(l*8672|0)-t+r|0;r=(da(l,-10258)|0)+t+r|0;F=F*3570|0;t=(p*7678|0)-o|0;v=(da(l,-1396)|0)-F-t|0;t=(da(l,-6581)|0)+F-t|0;F=da(b[f+16>>1]|0,c[n+32>>2]|0)|0;s=da(b[f+48>>1]|0,c[n+96>>2]|0)|0;C=da(b[f+80>>1]|0,c[n+160>>2]|0)|0;q=da(b[f+112>>1]|0,c[n+224>>2]|0)|0;y=(F+s|0)*10832|0;H=(F+C|0)*9534|0;E=F+q|0;G=E*7682|0;A=y+H+G+(da(F,-16549)|0)|0;w=da(s+C|0,-2773)|0;D=da(s+q|0,-9534)|0;y=y+(w+(s*6859|0))+D|0;u=da(C+q|0,-5384)|0;w=H+(w+(da(C,-12879)|0))+u|0;u=G+(D+(q*18068|0))+u|0;E=E*2773|0;D=(C-s|0)*7682|0;s=E+(F*2611|0)+(da(s,-3818)|0)+D|0;q=E+(D+(C*3150|0)+(da(q,-14273)|0))|0;c[e>>2]=B+A>>11;c[e+384>>2]=B-A>>11;c[e+32>>2]=z+y>>11;c[e+352>>2]=z-y>>11;c[e+64>>2]=x+w>>11;c[e+320>>2]=x-w>>11;c[e+96>>2]=v+u>>11;c[e+288>>2]=v-u>>11;c[e+128>>2]=t+s>>11;c[e+256>>2]=t-s>>11;c[e+160>>2]=r+q>>11;c[e+224>>2]=r-q>>11;c[e+192>>2]=((p-l|0)*11585|0)+o>>11;o=m+1|0;l=(o|0)<8;m=o;f=f+2|0;n=n+4|0;e=e+4|0}while(1){if((l|0)>=13)break;H=c[g+(l<<2)>>2]|0;G=(c[k>>2]<<13)+131072|0;F=c[k+8>>2]|0;A=c[k+16>>2]|0;E=c[k+24>>2]|0;o=A+E|0;E=A-E|0;A=o*9465|0;w=(E*793|0)+G|0;s=(F*11249|0)+A+w|0;w=(F*4108|0)-A+w|0;A=o*2592|0;C=(E*3989|0)+G|0;u=(F*8672|0)-A+C|0;C=(da(F,-10258)|0)+A+C|0;o=o*3570|0;A=(E*7678|0)-G|0;y=(da(F,-1396)|0)-o-A|0;A=(da(F,-6581)|0)+o-A|0;o=c[k+4>>2]|0;B=c[k+12>>2]|0;r=c[k+20>>2]|0;D=c[k+28>>2]|0;v=(o+B|0)*10832|0;e=(o+r|0)*9534|0;p=o+D|0;n=p*7682|0;t=v+e+n+(da(o,-16549)|0)|0;x=da(B+r|0,-2773)|0;q=da(B+D|0,-9534)|0;v=v+(x+(B*6859|0))+q|0;z=da(r+D|0,-5384)|0;x=e+(x+(da(r,-12879)|0))+z|0;z=n+(q+(D*18068|0))+z|0;p=p*2773|0;q=(r-B|0)*7682|0;B=p+(o*2611|0)+(da(B,-3818)|0)+q|0;D=p+(q+(r*3150|0)+(da(D,-14273)|0))|0;a[H+h>>0]=a[d+(((s+t|0)>>>18&1023)+128)>>0]|0;a[H+(h+12)>>0]=a[d+(((s-t|0)>>>18&1023)+128)>>0]|0;a[H+(h+1)>>0]=a[d+(((u+v|0)>>>18&1023)+128)>>0]|0;a[H+(h+11)>>0]=a[d+(((u-v|0)>>>18&1023)+128)>>0]|0;a[H+(h+2)>>0]=a[d+(((w+x|0)>>>18&1023)+128)>>0]|0;a[H+(h+10)>>0]=a[d+(((w-x|0)>>>18&1023)+128)>>0]|0;a[H+(h+3)>>0]=a[d+(((y+z|0)>>>18&1023)+128)>>0]|0;a[H+(h+9)>>0]=a[d+(((y-z|0)>>>18&1023)+128)>>0]|0;a[H+(h+4)>>0]=a[d+(((A+B|0)>>>18&1023)+128)>>0]|0;a[H+(h+8)>>0]=a[d+(((A-B|0)>>>18&1023)+128)>>0]|0;a[H+(h+5)>>0]=a[d+(((C+D|0)>>>18&1023)+128)>>0]|0;a[H+(h+7)>>0]=a[d+(((C-D|0)>>>18&1023)+128)>>0]|0;a[H+(h+6)>>0]=a[d+(((((E-F|0)*11585|0)+G|0)>>>18&1023)+128)>>0]|0;l=l+1|0;k=k+32|0}i=j;return}function _h(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;j=i;i=i+448|0;k=j;d=c[d+336>>2]|0;l=1;m=0;n=c[e+84>>2]|0;e=k;while(1){if(!l){l=0;break}A=(da(b[f>>1]|0,c[n>>2]|0)|0)<<13|1024;u=da(b[f+64>>1]|0,c[n+128>>2]|0)|0;y=A+(u*10438|0)|0;w=A+(u*2578|0)|0;o=A+(da(u,-7223)|0)|0;u=A+(da(u,-11586)|0)>>11;A=da(b[f+32>>1]|0,c[n+64>>2]|0)|0;s=da(b[f+96>>1]|0,c[n+192>>2]|0)|0;q=(A+s|0)*9058|0;l=q+(A*2237|0)|0;q=q+(da(s,-14084)|0)|0;s=(A*5027|0)+(da(s,-11295)|0)|0;A=y+l|0;l=y-l|0;y=w+q|0;q=w-q|0;w=o+s|0;s=o-s|0;o=da(b[f+16>>1]|0,c[n+32>>2]|0)|0;p=da(b[f+48>>1]|0,c[n+96>>2]|0)|0;t=da(b[f+80>>1]|0,c[n+160>>2]|0)|0;B=da(b[f+112>>1]|0,c[n+224>>2]|0)|0;r=B<<13;F=o+t|0;x=(o+p|0)*10935|0;D=F*9810|0;z=x+D+r+(da(o,-9232)|0)|0;F=F*6164|0;C=o-p|0;E=(C*3826|0)-r|0;o=F+(da(o,-8693)|0)+E|0;v=(da(p+t|0,-1297)|0)-r|0;x=x+(v+(da(p,-3474)|0))|0;v=D+(v+(da(t,-19447)|0))|0;D=(t-p|0)*11512|0;r=F+(D+r+(da(t,-13850)|0))|0;p=E+(D+(p*5529|0))|0;t=C+B-t<<2;c[e>>2]=A+z>>11;c[e+416>>2]=A-z>>11;c[e+32>>2]=y+x>>11;c[e+384>>2]=y-x>>11;c[e+64>>2]=w+v>>11;c[e+352>>2]=w-v>>11;c[e+96>>2]=u+t;c[e+320>>2]=u-t;c[e+128>>2]=s+r>>11;c[e+288>>2]=s-r>>11;c[e+160>>2]=q+p>>11;c[e+256>>2]=q-p>>11;c[e+192>>2]=l+o>>11;c[e+224>>2]=l-o>>11;o=m+1|0;l=(o|0)<8;m=o;f=f+2|0;n=n+4|0;e=e+4|0}while(1){if((l|0)>=14)break;F=c[g+(l<<2)>>2]|0;r=(c[k>>2]<<13)+131072|0;x=c[k+16>>2]|0;t=r+(x*10438|0)|0;v=r+(x*2578|0)|0;E=r+(da(x,-7223)|0)|0;x=r+(da(x,-11586)|0)|0;r=c[k+8>>2]|0;z=c[k+24>>2]|0;B=(r+z|0)*9058|0;D=B+(r*2237|0)|0;B=B+(da(z,-14084)|0)|0;z=(r*5027|0)+(da(z,-11295)|0)|0;r=t+D|0;D=t-D|0;t=v+B|0;B=v-B|0;v=E+z|0;z=E-z|0;E=c[k+4>>2]|0;C=c[k+12>>2]|0;q=c[k+20>>2]|0;y=c[k+28>>2]<<13;A=E+q|0;u=(E+C|0)*10935|0;o=A*9810|0;s=u+o+y+(da(E,-9232)|0)|0;A=A*6164|0;p=E-C|0;n=(p*3826|0)-y|0;E=A+(da(E,-8693)|0)+n|0;w=(da(C+q|0,-1297)|0)-y|0;u=u+(w+(da(C,-3474)|0))|0;w=o+(w+(da(q,-19447)|0))|0;o=(q-C|0)*11512|0;A=A+(o+y+(da(q,-13850)|0))|0;C=n+(o+(C*5529|0))|0;y=(p-q<<13)+y|0;a[F+h>>0]=a[d+(((r+s|0)>>>18&1023)+128)>>0]|0;a[F+(h+13)>>0]=a[d+(((r-s|0)>>>18&1023)+128)>>0]|0;a[F+(h+1)>>0]=a[d+(((t+u|0)>>>18&1023)+128)>>0]|0;a[F+(h+12)>>0]=a[d+(((t-u|0)>>>18&1023)+128)>>0]|0;a[F+(h+2)>>0]=a[d+(((v+w|0)>>>18&1023)+128)>>0]|0;a[F+(h+11)>>0]=a[d+(((v-w|0)>>>18&1023)+128)>>0]|0;a[F+(h+3)>>0]=a[d+(((x+y|0)>>>18&1023)+128)>>0]|0;a[F+(h+10)>>0]=a[d+(((x-y|0)>>>18&1023)+128)>>0]|0;a[F+(h+4)>>0]=a[d+(((z+A|0)>>>18&1023)+128)>>0]|0;a[F+(h+9)>>0]=a[d+(((z-A|0)>>>18&1023)+128)>>0]|0;a[F+(h+5)>>0]=a[d+(((B+C|0)>>>18&1023)+128)>>0]|0;a[F+(h+8)>>0]=a[d+(((B-C|0)>>>18&1023)+128)>>0]|0;a[F+(h+6)>>0]=a[d+(((D+E|0)>>>18&1023)+128)>>0]|0;a[F+(h+7)>>0]=a[d+(((D-E|0)>>>18&1023)+128)>>0]|0;l=l+1|0;k=k+32|0}i=j;return}function $h(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;j=i;i=i+480|0;k=j;d=c[d+336>>2]|0;l=1;m=0;n=c[e+84>>2]|0;e=k;while(1){if(!l){l=0;break}o=(da(b[f>>1]|0,c[n>>2]|0)|0)<<13|1024;q=da(b[f+32>>1]|0,c[n+64>>2]|0)|0;y=da(b[f+64>>1]|0,c[n+128>>2]|0)|0;l=da(b[f+96>>1]|0,c[n+192>>2]|0)|0;A=o+(da(l,-3580)|0)|0;v=o+(l*9373|0)|0;l=o+(da(l,-11586)|0)|0;o=q-y|0;y=y+q|0;F=y*10958|0;w=o*374|0;q=q*11795|0;C=v+F+w|0;w=A-F+w+q|0;F=y*4482|0;u=o*3271|0;s=v-F-u|0;q=A+F-u-q|0;y=y*6476|0;u=o*2896|0;A=A+y+u|0;u=v-y+u|0;o=o*5792|0;y=l+o|0;v=da(b[f+16>>1]|0,c[n+32>>2]|0)|0;F=da(b[f+48>>1]|0,c[n+96>>2]|0)|0;r=(da(b[f+80>>1]|0,c[n+160>>2]|0)|0)*10033|0;D=da(b[f+112>>1]|0,c[n+224>>2]|0)|0;t=F-D|0;G=(v+t|0)*6810|0;z=G+(v*4209|0)|0;t=G+(da(t,-17828)|0)|0;G=da(F,-6810)|0;F=da(F,-11018)|0;x=v-D|0;p=r+(x*11522|0)|0;B=p+(D*20131|0)-F|0;p=p+(da(v,-9113)|0)+G|0;x=(x*10033|0)-r|0;E=(v+D|0)*4712|0;v=G+(E+(v*3897|0)-r)|0;r=F+(E+(da(D,-7121)|0)+r)|0;c[e>>2]=C+B>>11;c[e+448>>2]=C-B>>11;c[e+32>>2]=A+z>>11;c[e+416>>2]=A-z>>11;c[e+64>>2]=y+x>>11;c[e+384>>2]=y-x>>11;c[e+96>>2]=w+v>>11;c[e+352>>2]=w-v>>11;c[e+128>>2]=u+t>>11;c[e+320>>2]=u-t>>11;c[e+160>>2]=s+r>>11;c[e+288>>2]=s-r>>11;c[e+192>>2]=q+p>>11;c[e+256>>2]=q-p>>11;c[e+224>>2]=l-o-o>>11;o=m+1|0;l=(o|0)<8;m=o;f=f+2|0;n=n+4|0;e=e+4|0}while(1){if((l|0)>=15)break;G=c[g+(l<<2)>>2]|0;F=(c[k>>2]<<13)+131072|0;C=c[k+8>>2]|0;u=c[k+16>>2]|0;E=c[k+24>>2]|0;s=F+(da(E,-3580)|0)|0;x=F+(E*9373|0)|0;E=F+(da(E,-11586)|0)|0;F=C-u|0;u=u+C|0;n=u*10958|0;w=F*374|0;C=C*11795|0;q=x+n+w|0;w=s-n+w+C|0;n=u*4482|0;y=F*3271|0;A=x-n-y|0;C=s+n-y-C|0;u=u*6476|0;y=F*2896|0;s=s+u+y|0;y=x-u+y|0;F=F*5792|0;u=E+F|0;x=c[k+4>>2]|0;n=c[k+12>>2]|0;B=(c[k+20>>2]|0)*10033|0;p=c[k+28>>2]|0;z=n-p|0;e=(x+z|0)*6810|0;t=e+(x*4209|0)|0;z=e+(da(z,-17828)|0)|0;e=da(n,-6810)|0;n=da(n,-11018)|0;v=x-p|0;D=B+(v*11522|0)|0;r=D+(p*20131|0)-n|0;D=D+(da(x,-9113)|0)+e|0;v=(v*10033|0)-B|0;o=(x+p|0)*4712|0;x=e+(o+(x*3897|0)-B)|0;B=n+(o+(da(p,-7121)|0)+B)|0;a[G+h>>0]=a[d+(((q+r|0)>>>18&1023)+128)>>0]|0;a[G+(h+14)>>0]=a[d+(((q-r|0)>>>18&1023)+128)>>0]|0;a[G+(h+1)>>0]=a[d+(((s+t|0)>>>18&1023)+128)>>0]|0;a[G+(h+13)>>0]=a[d+(((s-t|0)>>>18&1023)+128)>>0]|0;a[G+(h+2)>>0]=a[d+(((u+v|0)>>>18&1023)+128)>>0]|0;a[G+(h+12)>>0]=a[d+(((u-v|0)>>>18&1023)+128)>>0]|0;a[G+(h+3)>>0]=a[d+(((w+x|0)>>>18&1023)+128)>>0]|0;a[G+(h+11)>>0]=a[d+(((w-x|0)>>>18&1023)+128)>>0]|0;a[G+(h+4)>>0]=a[d+(((y+z|0)>>>18&1023)+128)>>0]|0;a[G+(h+10)>>0]=a[d+(((y-z|0)>>>18&1023)+128)>>0]|0;a[G+(h+5)>>0]=a[d+(((A+B|0)>>>18&1023)+128)>>0]|0;a[G+(h+9)>>0]=a[d+(((A-B|0)>>>18&1023)+128)>>0]|0;a[G+(h+6)>>0]=a[d+(((C+D|0)>>>18&1023)+128)>>0]|0;a[G+(h+8)>>0]=a[d+(((C-D|0)>>>18&1023)+128)>>0]|0;a[G+(h+7)>>0]=a[d+(((E-F-F|0)>>>18&1023)+128)>>0]|0;l=l+1|0;k=k+32|0}i=j;return}function ai(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;j=i;i=i+512|0;k=j;d=c[d+336>>2]|0;l=1;m=0;n=c[e+84>>2]|0;e=k;while(1){if(!l){l=0;break}s=(da(b[f>>1]|0,c[n>>2]|0)|0)<<13|1024;w=da(b[f+64>>1]|0,c[n+128>>2]|0)|0;o=w*10703|0;w=w*4433|0;A=s+o|0;o=s-o|0;y=s+w|0;w=s-w|0;s=da(b[f+32>>1]|0,c[n+64>>2]|0)|0;u=da(b[f+96>>1]|0,c[n+192>>2]|0)|0;p=s-u|0;C=p*2260|0;p=p*11363|0;l=p+(u*20995|0)|0;q=C+(s*7373|0)|0;s=p+(da(s,-4926)|0)|0;u=C+(da(u,-4176)|0)|0;C=A+l|0;l=A-l|0;A=y+q|0;q=y-q|0;y=w+s|0;s=w-s|0;w=o+u|0;u=o-u|0;o=da(b[f+16>>1]|0,c[n+32>>2]|0)|0;p=da(b[f+48>>1]|0,c[n+96>>2]|0)|0;D=da(b[f+80>>1]|0,c[n+160>>2]|0)|0;t=da(b[f+112>>1]|0,c[n+224>>2]|0)|0;F=o+D|0;z=(o+p|0)*11086|0;J=F*10217|0;I=(o+t|0)*8956|0;H=(o-t|0)*7350|0;F=F*5461|0;v=(o-p|0)*3363|0;B=z+J+I+(da(o,-18730)|0)|0;o=H+F+v+(da(o,-15038)|0)|0;x=(p+D|0)*1136|0;E=(D-p|0)*11529|0;G=p+t|0;r=da(G,-5461)|0;z=z+(x+(p*589|0))+r|0;G=da(G,-10217)|0;p=v+(E+(p*16154|0))+G|0;v=da(D+t|0,-11086)|0;x=J+(x+(da(D,-9222)|0))+v|0;v=I+(r+(t*8728|0))+v|0;r=(t-D|0)*3363|0;t=H+(G+(t*25733|0))+r|0;r=F+(E+(da(D,-6278)|0))+r|0;c[e>>2]=C+B>>11;c[e+480>>2]=C-B>>11;c[e+32>>2]=A+z>>11;c[e+448>>2]=A-z>>11;c[e+64>>2]=y+x>>11;c[e+416>>2]=y-x>>11;c[e+96>>2]=w+v>>11;c[e+384>>2]=w-v>>11;c[e+128>>2]=u+t>>11;c[e+352>>2]=u-t>>11;c[e+160>>2]=s+r>>11;c[e+320>>2]=s-r>>11;c[e+192>>2]=q+p>>11;c[e+288>>2]=q-p>>11;c[e+224>>2]=l+o>>11;c[e+256>>2]=l-o>>11;o=m+1|0;l=(o|0)<8;m=o;f=f+2|0;n=n+4|0;e=e+4|0}while(1){if((l|0)>=16)break;J=c[g+(l<<2)>>2]|0;D=(c[k>>2]<<13)+131072|0;z=c[k+16>>2]|0;I=z*10703|0;z=z*4433|0;v=D+I|0;I=D-I|0;x=D+z|0;z=D-z|0;D=c[k+8>>2]|0;B=c[k+24>>2]|0;G=D-B|0;t=G*2260|0;G=G*11363|0;H=G+(B*20995|0)|0;F=t+(D*7373|0)|0;D=G+(da(D,-4926)|0)|0;B=t+(da(B,-4176)|0)|0;t=v+H|0;H=v-H|0;v=x+F|0;F=x-F|0;x=z+D|0;D=z-D|0;z=I+B|0;B=I-B|0;I=c[k+4>>2]|0;G=c[k+12>>2]|0;s=c[k+20>>2]|0;C=c[k+28>>2]|0;q=I+s|0;w=(I+G|0)*11086|0;e=q*10217|0;n=(I+C|0)*8956|0;o=(I-C|0)*7350|0;q=q*5461|0;A=(I-G|0)*3363|0;u=w+e+n+(da(I,-18730)|0)|0;I=o+q+A+(da(I,-15038)|0)|0;y=(G+s|0)*1136|0;r=(s-G|0)*11529|0;p=G+C|0;E=da(p,-5461)|0;w=w+(y+(G*589|0))+E|0;p=da(p,-10217)|0;G=A+(r+(G*16154|0))+p|0;A=da(s+C|0,-11086)|0;y=e+(y+(da(s,-9222)|0))+A|0;A=n+(E+(C*8728|0))+A|0;E=(C-s|0)*3363|0;C=o+(p+(C*25733|0))+E|0;E=q+(r+(da(s,-6278)|0))+E|0;a[J+h>>0]=a[d+(((t+u|0)>>>18&1023)+128)>>0]|0;a[J+(h+15)>>0]=a[d+(((t-u|0)>>>18&1023)+128)>>0]|0;a[J+(h+1)>>0]=a[d+(((v+w|0)>>>18&1023)+128)>>0]|0;a[J+(h+14)>>0]=a[d+(((v-w|0)>>>18&1023)+128)>>0]|0;a[J+(h+2)>>0]=a[d+(((x+y|0)>>>18&1023)+128)>>0]|0;a[J+(h+13)>>0]=a[d+(((x-y|0)>>>18&1023)+128)>>0]|0;a[J+(h+3)>>0]=a[d+(((z+A|0)>>>18&1023)+128)>>0]|0;a[J+(h+12)>>0]=a[d+(((z-A|0)>>>18&1023)+128)>>0]|0;a[J+(h+4)>>0]=a[d+(((B+C|0)>>>18&1023)+128)>>0]|0;a[J+(h+11)>>0]=a[d+(((B-C|0)>>>18&1023)+128)>>0]|0;a[J+(h+5)>>0]=a[d+(((D+E|0)>>>18&1023)+128)>>0]|0;a[J+(h+10)>>0]=a[d+(((D-E|0)>>>18&1023)+128)>>0]|0;a[J+(h+6)>>0]=a[d+(((F+G|0)>>>18&1023)+128)>>0]|0;a[J+(h+9)>>0]=a[d+(((F-G|0)>>>18&1023)+128)>>0]|0;a[J+(h+7)>>0]=a[d+(((H+I|0)>>>18&1023)+128)>>0]|0;a[J+(h+8)>>0]=a[d+(((H-I|0)>>>18&1023)+128)>>0]|0;l=l+1|0;k=k+32|0}i=j;return}function bi(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;j=i;i=i+256|0;k=j;d=c[d+336>>2]|0;m=c[e+84>>2]|0;e=8;o=k;while(1){if((e|0)<=0){l=0;break}n=b[f+16>>1]|0;p=b[f+32>>1]|0;if(n<<16>>16==0&p<<16>>16==0)if(((((b[f+48>>1]|0)==0?(b[f+64>>1]|0)==0:0)?(b[f+80>>1]|0)==0:0)?(b[f+96>>1]|0)==0:0)?(b[f+112>>1]|0)==0:0){p=(da(b[f>>1]|0,c[m>>2]|0)|0)<<2;c[o>>2]=p;c[o+32>>2]=p;c[o+64>>2]=p;c[o+96>>2]=p;c[o+128>>2]=p;c[o+160>>2]=p;c[o+192>>2]=p;c[o+224>>2]=p}else{p=0;l=10}else l=10;if((l|0)==10){l=0;q=da(p<<16>>16,c[m+64>>2]|0)|0;r=da(b[f+96>>1]|0,c[m+192>>2]|0)|0;v=(q+r|0)*4433|0;q=v+(q*6270|0)|0;r=v+(da(r,-15137)|0)|0;v=da(b[f>>1]|0,c[m>>2]|0)|0;p=(da(b[f+64>>1]|0,c[m+128>>2]|0)|0)<<13;v=v<<13|1024;t=v+p|0;p=v-p|0;v=t+q|0;q=t-q|0;t=p+r|0;r=p-r|0;p=da(b[f+112>>1]|0,c[m+224>>2]|0)|0;y=da(b[f+80>>1]|0,c[m+160>>2]|0)|0;x=da(b[f+48>>1]|0,c[m+96>>2]|0)|0;w=da(n<<16>>16,c[m+32>>2]|0)|0;s=p+x|0;u=y+w|0;n=(s+u|0)*9633|0;s=(da(s,-16069)|0)+n|0;n=(da(u,-3196)|0)+n|0;u=da(p+w|0,-7373)|0;p=(p*2446|0)+(u+s)|0;u=(w*12299|0)+(u+n)|0;w=da(y+x|0,-20995)|0;n=(y*16819|0)+(w+n)|0;s=(x*25172|0)+(w+s)|0;c[o>>2]=v+u>>11;c[o+224>>2]=v-u>>11;c[o+32>>2]=t+s>>11;c[o+192>>2]=t-s>>11;c[o+64>>2]=r+n>>11;c[o+160>>2]=r-n>>11;c[o+96>>2]=q+p>>11;c[o+128>>2]=q-p>>11}f=f+2|0;m=m+4|0;e=e+ -1|0;o=o+4|0}while(1){if((l|0)>=8)break;y=c[g+(l<<2)>>2]|0;s=(c[k>>2]<<13)+131072|0;o=c[k+16>>2]|0;x=o*10703|0;o=o*4433|0;f=s+x|0;x=s-x|0;m=s+o|0;o=s-o|0;s=c[k+8>>2]|0;q=c[k+24>>2]|0;v=s-q|0;A=v*2260|0;v=v*11363|0;w=v+(q*20995|0)|0;u=A+(s*7373|0)|0;s=v+(da(s,-4926)|0)|0;q=A+(da(q,-4176)|0)|0;A=f+w|0;w=f-w|0;f=m+u|0;u=m-u|0;m=o+s|0;s=o-s|0;o=x+q|0;q=x-q|0;x=c[k+4>>2]|0;v=c[k+12>>2]|0;B=c[k+20>>2]|0;r=c[k+28>>2]|0;D=x+B|0;e=(x+v|0)*11086|0;H=D*10217|0;G=(x+r|0)*8956|0;F=(x-r|0)*7350|0;D=D*5461|0;p=(x-v|0)*3363|0;z=e+H+G+(da(x,-18730)|0)|0;x=F+D+p+(da(x,-15038)|0)|0;n=(v+B|0)*1136|0;C=(B-v|0)*11529|0;E=v+r|0;t=da(E,-5461)|0;e=e+(n+(v*589|0))+t|0;E=da(E,-10217)|0;v=p+(C+(v*16154|0))+E|0;p=da(B+r|0,-11086)|0;n=H+(n+(da(B,-9222)|0))+p|0;p=G+(t+(r*8728|0))+p|0;t=(r-B|0)*3363|0;r=F+(E+(r*25733|0))+t|0;t=D+(C+(da(B,-6278)|0))+t|0;a[y+h>>0]=a[d+(((A+z|0)>>>18&1023)+128)>>0]|0;a[y+(h+15)>>0]=a[d+(((A-z|0)>>>18&1023)+128)>>0]|0;a[y+(h+1)>>0]=a[d+(((f+e|0)>>>18&1023)+128)>>0]|0;a[y+(h+14)>>0]=a[d+(((f-e|0)>>>18&1023)+128)>>0]|0;a[y+(h+2)>>0]=a[d+(((m+n|0)>>>18&1023)+128)>>0]|0;a[y+(h+13)>>0]=a[d+(((m-n|0)>>>18&1023)+128)>>0]|0;a[y+(h+3)>>0]=a[d+(((o+p|0)>>>18&1023)+128)>>0]|0;a[y+(h+12)>>0]=a[d+(((o-p|0)>>>18&1023)+128)>>0]|0;a[y+(h+4)>>0]=a[d+(((q+r|0)>>>18&1023)+128)>>0]|0;a[y+(h+11)>>0]=a[d+(((q-r|0)>>>18&1023)+128)>>0]|0;a[y+(h+5)>>0]=a[d+(((s+t|0)>>>18&1023)+128)>>0]|0;a[y+(h+10)>>0]=a[d+(((s-t|0)>>>18&1023)+128)>>0]|0;a[y+(h+6)>>0]=a[d+(((u+v|0)>>>18&1023)+128)>>0]|0;a[y+(h+9)>>0]=a[d+(((u-v|0)>>>18&1023)+128)>>0]|0;a[y+(h+7)>>0]=a[d+(((w+x|0)>>>18&1023)+128)>>0]|0;a[y+(h+8)>>0]=a[d+(((w-x|0)>>>18&1023)+128)>>0]|0;l=l+1|0;k=k+32|0}i=j;return}function ci(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;j=i;i=i+224|0;k=j;d=c[d+336>>2]|0;l=1;m=0;n=c[e+84>>2]|0;e=k;while(1){if(!l){l=0;break}p=(da(b[f>>1]|0,c[n>>2]|0)|0)<<13|1024;r=da(b[f+32>>1]|0,c[n+64>>2]|0)|0;l=da(b[f+64>>1]|0,c[n+128>>2]|0)|0;v=da(b[f+96>>1]|0,c[n+192>>2]|0)|0;q=(l-v|0)*7223|0;x=(r-l|0)*2578|0;t=q+x+p+(da(l,-15083)|0)|0;o=r+v|0;w=(o*10438|0)+p|0;v=q+(w+(da(v,-637)|0))|0;r=x+(w+(da(r,-20239)|0))|0;w=da(b[f+16>>1]|0,c[n+32>>2]|0)|0;x=da(b[f+48>>1]|0,c[n+96>>2]|0)|0;q=da(b[f+80>>1]|0,c[n+160>>2]|0)|0;y=(w+x|0)*7663|0;u=(w-x|0)*1395|0;x=da(x+q|0,-11295)|0;s=y+u+x|0;w=(w+q|0)*5027|0;u=y-u+w|0;q=x+(w+(q*15326|0))|0;c[e>>2]=v+u>>11;c[e+192>>2]=v-u>>11;c[e+32>>2]=t+s>>11;c[e+160>>2]=t-s>>11;c[e+64>>2]=r+q>>11;c[e+128>>2]=r-q>>11;c[e+96>>2]=p+((l-o|0)*11585|0)>>11;o=m+1|0;l=(o|0)<8;m=o;f=f+2|0;n=n+4|0;e=e+4|0}while(1){if((l|0)>=7)break;y=c[g+(l<<2)>>2]|0;m=(c[k>>2]<<13)+131072|0;q=c[k+16>>2]|0;e=m+(q*10438|0)|0;o=m+(q*2578|0)|0;x=m+(da(q,-7223)|0)|0;q=m+(da(q,-11586)|0)|0;m=c[k+8>>2]|0;s=c[k+24>>2]|0;u=(m+s|0)*9058|0;w=u+(m*2237|0)|0;u=u+(da(s,-14084)|0)|0;s=(m*5027|0)+(da(s,-11295)|0)|0;m=e+w|0;w=e-w|0;e=o+u|0;u=o-u|0;o=x+s|0;s=x-s|0;x=c[k+4>>2]|0;v=c[k+12>>2]|0;z=c[k+20>>2]|0;r=c[k+28>>2]<<13;t=x+z|0;n=(x+v|0)*10935|0;B=t*9810|0;f=n+B+r+(da(x,-9232)|0)|0;t=t*6164|0;A=x-v|0;C=(A*3826|0)-r|0;x=t+(da(x,-8693)|0)+C|0;p=(da(v+z|0,-1297)|0)-r|0;n=n+(p+(da(v,-3474)|0))|0;p=B+(p+(da(z,-19447)|0))|0;B=(z-v|0)*11512|0;t=t+(B+r+(da(z,-13850)|0))|0;v=C+(B+(v*5529|0))|0;r=(A-z<<13)+r|0;a[y+h>>0]=a[d+(((m+f|0)>>>18&1023)+128)>>0]|0;a[y+(h+13)>>0]=a[d+(((m-f|0)>>>18&1023)+128)>>0]|0;a[y+(h+1)>>0]=a[d+(((e+n|0)>>>18&1023)+128)>>0]|0;a[y+(h+12)>>0]=a[d+(((e-n|0)>>>18&1023)+128)>>0]|0;a[y+(h+2)>>0]=a[d+(((o+p|0)>>>18&1023)+128)>>0]|0;a[y+(h+11)>>0]=a[d+(((o-p|0)>>>18&1023)+128)>>0]|0;a[y+(h+3)>>0]=a[d+(((q+r|0)>>>18&1023)+128)>>0]|0;a[y+(h+10)>>0]=a[d+(((q-r|0)>>>18&1023)+128)>>0]|0;a[y+(h+4)>>0]=a[d+(((s+t|0)>>>18&1023)+128)>>0]|0;a[y+(h+9)>>0]=a[d+(((s-t|0)>>>18&1023)+128)>>0]|0;a[y+(h+5)>>0]=a[d+(((u+v|0)>>>18&1023)+128)>>0]|0;a[y+(h+8)>>0]=a[d+(((u-v|0)>>>18&1023)+128)>>0]|0;a[y+(h+6)>>0]=a[d+(((w+x|0)>>>18&1023)+128)>>0]|0;a[y+(h+7)>>0]=a[d+(((w-x|0)>>>18&1023)+128)>>0]|0;l=l+1|0;k=k+32|0}i=j;return}function di(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;j=i;i=i+192|0;k=j;d=c[d+336>>2]|0;l=1;m=0;n=c[e+84>>2]|0;e=k;while(1){if(!l){l=0;break}l=(da(b[f>>1]|0,c[n>>2]|0)|0)<<13|1024;q=(da(b[f+64>>1]|0,c[n+128>>2]|0)|0)*5793|0;u=l+q|0;q=l-q-q>>11;l=(da(b[f+32>>1]|0,c[n+64>>2]|0)|0)*10033|0;s=u+l|0;l=u-l|0;u=da(b[f+16>>1]|0,c[n+32>>2]|0)|0;t=da(b[f+48>>1]|0,c[n+96>>2]|0)|0;p=da(b[f+80>>1]|0,c[n+160>>2]|0)|0;o=(u+p|0)*2998|0;r=o+(u+t<<13)|0;o=o+(p-t<<13)|0;p=u-t-p<<2;c[e>>2]=s+r>>11;c[e+160>>2]=s-r>>11;c[e+32>>2]=q+p;c[e+128>>2]=q-p;c[e+64>>2]=l+o>>11;c[e+96>>2]=l-o>>11;o=m+1|0;l=(o|0)<8;m=o;f=f+2|0;n=n+4|0;e=e+4|0}while(1){if((l|0)>=6)break;u=c[g+(l<<2)>>2]|0;s=(c[k>>2]<<13)+131072|0;y=(c[k+16>>2]|0)*10033|0;r=s+y|0;y=s-y|0;e=c[k+8>>2]|0;x=e*11190|0;e=e<<13;o=c[k+24>>2]<<13;q=e-o|0;m=s+q|0;q=s-q|0;s=x+o|0;w=r+s|0;s=r-s|0;o=x-e-o|0;e=y+o|0;o=y-o|0;y=c[k+4>>2]|0;x=c[k+12>>2]|0;r=c[k+20>>2]|0;f=c[k+28>>2]|0;p=x*10703|0;t=da(x,-4433)|0;n=y+r|0;z=(n+f|0)*7053|0;n=z+(n*2139|0)|0;v=n+p+(y*2295|0)|0;A=da(r+f|0,-8565)|0;n=n+(A+t+(da(r,-12112)|0))|0;p=A+(z-p+(f*12998|0))|0;t=z+(t+(da(y,-5540)|0)+(da(f,-16244)|0))|0;f=y-f|0;r=x-r|0;x=(f+r|0)*4433|0;f=x+(f*6270|0)|0;r=x+(da(r,-15137)|0)|0;a[u+h>>0]=a[d+(((w+v|0)>>>18&1023)+128)>>0]|0;a[u+(h+11)>>0]=a[d+(((w-v|0)>>>18&1023)+128)>>0]|0;a[u+(h+1)>>0]=a[d+(((m+f|0)>>>18&1023)+128)>>0]|0;a[u+(h+10)>>0]=a[d+(((m-f|0)>>>18&1023)+128)>>0]|0;a[u+(h+2)>>0]=a[d+(((e+n|0)>>>18&1023)+128)>>0]|0;a[u+(h+9)>>0]=a[d+(((e-n|0)>>>18&1023)+128)>>0]|0;a[u+(h+3)>>0]=a[d+(((o+p|0)>>>18&1023)+128)>>0]|0;a[u+(h+8)>>0]=a[d+(((o-p|0)>>>18&1023)+128)>>0]|0;a[u+(h+4)>>0]=a[d+(((q+r|0)>>>18&1023)+128)>>0]|0;a[u+(h+7)>>0]=a[d+(((q-r|0)>>>18&1023)+128)>>0]|0;a[u+(h+5)>>0]=a[d+(((s+t|0)>>>18&1023)+128)>>0]|0;a[u+(h+6)>>0]=a[d+(((s-t|0)>>>18&1023)+128)>>0]|0;l=l+1|0;k=k+32|0}i=j;return}function ei(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;j=i;i=i+160|0;k=j;d=c[d+336>>2]|0;l=1;m=0;n=c[e+84>>2]|0;e=k;while(1){if(!l){l=0;break}q=(da(b[f>>1]|0,c[n>>2]|0)|0)<<13|1024;l=da(b[f+32>>1]|0,c[n+64>>2]|0)|0;o=da(b[f+64>>1]|0,c[n+128>>2]|0)|0;p=(l+o|0)*6476|0;o=l-o|0;l=q+(o*2896|0)|0;r=l+p|0;p=l-p|0;o=q+(da(o,-11584)|0)|0;q=da(b[f+16>>1]|0,c[n+32>>2]|0)|0;l=da(b[f+48>>1]|0,c[n+96>>2]|0)|0;s=(q+l|0)*6810|0;q=s+(q*4209|0)|0;l=s+(da(l,-17828)|0)|0;c[e>>2]=r+q>>11;c[e+128>>2]=r-q>>11;c[e+32>>2]=p+l>>11;c[e+96>>2]=p-l>>11;c[e+64>>2]=o>>11;o=m+1|0;l=(o|0)<8;m=o;f=f+2|0;n=n+4|0;e=e+4|0}while(1){if((l|0)>=5)break;s=c[g+(l<<2)>>2]|0;q=(c[k>>2]<<13)+131072|0;e=c[k+16>>2]|0;m=q+(e*9373|0)|0;w=q+(da(e,-3580)|0)|0;e=q+(da(e,-11586)|0)|0;q=c[k+8>>2]|0;o=c[k+24>>2]|0;u=(q+o|0)*6810|0;q=u+(q*4209|0)|0;o=u+(da(o,-17828)|0)|0;u=m+q|0;q=m-q|0;m=w+o|0;o=w-o|0;w=c[k+4>>2]|0;p=c[k+12>>2]|0;n=c[k+20>>2]<<13;f=c[k+28>>2]|0;v=p+f|0;f=p-f|0;p=f*2531|0;x=v*7791|0;r=n+p|0;t=(w*11443|0)+x+r|0;r=(w*1812|0)-x+r|0;v=v*4815|0;p=n-p-(f<<12)|0;n=(w-f<<13)-n|0;f=(w*10323|0)-v-p|0;p=(w*5260|0)-v+p|0;a[s+h>>0]=a[d+(((u+t|0)>>>18&1023)+128)>>0]|0;a[s+(h+9)>>0]=a[d+(((u-t|0)>>>18&1023)+128)>>0]|0;a[s+(h+1)>>0]=a[d+(((m+f|0)>>>18&1023)+128)>>0]|0;a[s+(h+8)>>0]=a[d+(((m-f|0)>>>18&1023)+128)>>0]|0;a[s+(h+2)>>0]=a[d+(((e+n|0)>>>18&1023)+128)>>0]|0;a[s+(h+7)>>0]=a[d+(((e-n|0)>>>18&1023)+128)>>0]|0;a[s+(h+3)>>0]=a[d+(((o+p|0)>>>18&1023)+128)>>0]|0;a[s+(h+6)>>0]=a[d+(((o-p|0)>>>18&1023)+128)>>0]|0;a[s+(h+4)>>0]=a[d+(((q+r|0)>>>18&1023)+128)>>0]|0;a[s+(h+5)>>0]=a[d+(((q-r|0)>>>18&1023)+128)>>0]|0;l=l+1|0;k=k+32|0}i=j;return}function fi(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;j=i;i=i+128|0;k=j;d=c[d+336>>2]|0;l=1;m=0;n=c[e+84>>2]|0;e=k;while(1){if(!l){l=0;break}p=da(b[f>>1]|0,c[n>>2]|0)|0;l=da(b[f+32>>1]|0,c[n+64>>2]|0)|0;q=p+l<<2;l=p-l<<2;p=da(b[f+16>>1]|0,c[n+32>>2]|0)|0;o=da(b[f+48>>1]|0,c[n+96>>2]|0)|0;r=((p+o|0)*4433|0)+1024|0;p=r+(p*6270|0)>>11;o=r+(da(o,-15137)|0)>>11;c[e>>2]=q+p;c[e+96>>2]=q-p;c[e+32>>2]=l+o;c[e+64>>2]=l-o;o=m+1|0;l=(o|0)<8;m=o;f=f+2|0;n=n+4|0;e=e+4|0}while(1){if((l|0)>=4)break;r=c[g+(l<<2)>>2]|0;p=c[k+8>>2]|0;n=c[k+24>>2]|0;s=(p+n|0)*4433|0;p=s+(p*6270|0)|0;n=s+(da(n,-15137)|0)|0;s=(c[k>>2]|0)+16|0;q=c[k+16>>2]|0;f=s+q<<13;q=s-q<<13;s=f+p|0;p=f-p|0;f=q+n|0;n=q-n|0;q=c[k+28>>2]|0;v=c[k+20>>2]|0;u=c[k+12>>2]|0;t=c[k+4>>2]|0;e=q+u|0;m=v+t|0;o=(e+m|0)*9633|0;e=(da(e,-16069)|0)+o|0;o=(da(m,-3196)|0)+o|0;m=da(q+t|0,-7373)|0;q=(q*2446|0)+(m+e)|0;m=(t*12299|0)+(m+o)|0;t=da(v+u|0,-20995)|0;o=(v*16819|0)+(t+o)|0;e=(u*25172|0)+(t+e)|0;a[r+h>>0]=a[d+(((s+m|0)>>>18&1023)+128)>>0]|0;a[r+(h+7)>>0]=a[d+(((s-m|0)>>>18&1023)+128)>>0]|0;a[r+(h+1)>>0]=a[d+(((f+e|0)>>>18&1023)+128)>>0]|0;a[r+(h+6)>>0]=a[d+(((f-e|0)>>>18&1023)+128)>>0]|0;a[r+(h+2)>>0]=a[d+(((n+o|0)>>>18&1023)+128)>>0]|0;a[r+(h+5)>>0]=a[d+(((n-o|0)>>>18&1023)+128)>>0]|0;a[r+(h+3)>>0]=a[d+(((p+q|0)>>>18&1023)+128)>>0]|0;a[r+(h+4)>>0]=a[d+(((p-q|0)>>>18&1023)+128)>>0]|0;l=l+1|0;k=k+32|0}i=j;return}function gi(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;j=i;i=i+80|0;k=j;d=c[d+336>>2]|0;l=1;m=0;n=c[e+84>>2]|0;e=k;while(1){if(!l){l=0;break}l=(da(b[f>>1]|0,c[n>>2]|0)|0)<<13|1024;o=(da(b[f+32>>1]|0,c[n+64>>2]|0)|0)*5793|0;q=l+o|0;p=(da(b[f+16>>1]|0,c[n+32>>2]|0)|0)*10033|0;c[e>>2]=q+p>>11;c[e+48>>2]=q-p>>11;c[e+24>>2]=l-o-o>>11;o=m+1|0;l=(o|0)<6;m=o;f=f+2|0;n=n+4|0;e=e+4|0}while(1){if((l|0)>=3)break;q=c[g+(l<<2)>>2]|0;o=(c[k>>2]<<13)+131072|0;e=(c[k+16>>2]|0)*5793|0;s=o+e|0;e=o-e-e|0;o=(c[k+8>>2]|0)*10033|0;m=s+o|0;o=s-o|0;s=c[k+4>>2]|0;r=c[k+12>>2]|0;n=c[k+20>>2]|0;p=(s+n|0)*2998|0;f=p+(s+r<<13)|0;p=p+(n-r<<13)|0;n=s-r-n<<13;a[q+h>>0]=a[d+(((m+f|0)>>>18&1023)+128)>>0]|0;a[q+(h+5)>>0]=a[d+(((m-f|0)>>>18&1023)+128)>>0]|0;a[q+(h+1)>>0]=a[d+(((e+n|0)>>>18&1023)+128)>>0]|0;a[q+(h+4)>>0]=a[d+(((e-n|0)>>>18&1023)+128)>>0]|0;a[q+(h+2)>>0]=a[d+(((o+p|0)>>>18&1023)+128)>>0]|0;a[q+(h+3)>>0]=a[d+(((o-p|0)>>>18&1023)+128)>>0]|0;l=l+1|0;k=k+24|0}i=j;return}function hi(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0;j=i;i=i+32|0;k=j;d=c[d+336>>2]|0;l=1;m=0;n=c[e+84>>2]|0;e=k;while(1){if(!l){l=0;break}l=da(b[f>>1]|0,c[n>>2]|0)|0;o=da(b[f+16>>1]|0,c[n+32>>2]|0)|0;c[e>>2]=l+o;c[e+16>>2]=l-o;o=m+1|0;l=(o|0)<4;m=o;f=f+2|0;n=n+4|0;e=e+4|0}while(1){if((l|0)>=2)break;o=c[g+(l<<2)>>2]|0;f=(c[k>>2]|0)+4|0;e=c[k+8>>2]|0;m=f+e<<13;e=f-e<<13;f=c[k+4>>2]|0;n=c[k+12>>2]|0;p=(f+n|0)*4433|0;f=p+(f*6270|0)|0;n=p+(da(n,-15137)|0)|0;a[o+h>>0]=a[d+(((m+f|0)>>>16&1023)+128)>>0]|0;a[o+(h+3)>>0]=a[d+(((m-f|0)>>>16&1023)+128)>>0]|0;a[o+(h+1)>>0]=a[d+(((e+n|0)>>>16&1023)+128)>>0]|0;a[o+(h+2)>>0]=a[d+(((e-n|0)>>>16&1023)+128)>>0]|0;l=l+1|0;k=k+16|0}i=j;return}function ii(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;i=c[d+336>>2]|0;e=c[e+84>>2]|0;d=c[g>>2]|0;g=(da(b[f>>1]|0,c[e>>2]|0)|0)+4|0;e=da(b[f+2>>1]|0,c[e+4>>2]|0)|0;a[d+h>>0]=a[i+(((g+e|0)>>>3&1023)+128)>>0]|0;a[d+(h+1)>>0]=a[i+(((g-e|0)>>>3&1023)+128)>>0]|0;return}function ji(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;j=i;i=i+512|0;k=j;d=c[d+336>>2]|0;l=1;m=0;n=c[e+84>>2]|0;e=k;while(1){if(!l){l=0;break}s=(da(b[f>>1]|0,c[n>>2]|0)|0)<<13|1024;w=da(b[f+64>>1]|0,c[n+128>>2]|0)|0;o=w*10703|0;w=w*4433|0;A=s+o|0;o=s-o|0;y=s+w|0;w=s-w|0;s=da(b[f+32>>1]|0,c[n+64>>2]|0)|0;u=da(b[f+96>>1]|0,c[n+192>>2]|0)|0;p=s-u|0;C=p*2260|0;p=p*11363|0;l=p+(u*20995|0)|0;q=C+(s*7373|0)|0;s=p+(da(s,-4926)|0)|0;u=C+(da(u,-4176)|0)|0;C=A+l|0;l=A-l|0;A=y+q|0;q=y-q|0;y=w+s|0;s=w-s|0;w=o+u|0;u=o-u|0;o=da(b[f+16>>1]|0,c[n+32>>2]|0)|0;p=da(b[f+48>>1]|0,c[n+96>>2]|0)|0;D=da(b[f+80>>1]|0,c[n+160>>2]|0)|0;t=da(b[f+112>>1]|0,c[n+224>>2]|0)|0;F=o+D|0;z=(o+p|0)*11086|0;J=F*10217|0;I=(o+t|0)*8956|0;H=(o-t|0)*7350|0;F=F*5461|0;v=(o-p|0)*3363|0;B=z+J+I+(da(o,-18730)|0)|0;o=H+F+v+(da(o,-15038)|0)|0;x=(p+D|0)*1136|0;E=(D-p|0)*11529|0;G=p+t|0;r=da(G,-5461)|0;z=z+(x+(p*589|0))+r|0;G=da(G,-10217)|0;p=v+(E+(p*16154|0))+G|0;v=da(D+t|0,-11086)|0;x=J+(x+(da(D,-9222)|0))+v|0;v=I+(r+(t*8728|0))+v|0;r=(t-D|0)*3363|0;t=H+(G+(t*25733|0))+r|0;r=F+(E+(da(D,-6278)|0))+r|0;c[e>>2]=C+B>>11;c[e+480>>2]=C-B>>11;c[e+32>>2]=A+z>>11;c[e+448>>2]=A-z>>11;c[e+64>>2]=y+x>>11;c[e+416>>2]=y-x>>11;c[e+96>>2]=w+v>>11;c[e+384>>2]=w-v>>11;c[e+128>>2]=u+t>>11;c[e+352>>2]=u-t>>11;c[e+160>>2]=s+r>>11;c[e+320>>2]=s-r>>11;c[e+192>>2]=q+p>>11;c[e+288>>2]=q-p>>11;c[e+224>>2]=l+o>>11;c[e+256>>2]=l-o>>11;o=m+1|0;l=(o|0)<8;m=o;f=f+2|0;n=n+4|0;e=e+4|0}while(1){if((l|0)>=16)break;J=c[g+(l<<2)>>2]|0;H=c[k+8>>2]|0;F=c[k+24>>2]|0;B=(H+F|0)*4433|0;H=B+(H*6270|0)|0;F=B+(da(F,-15137)|0)|0;B=(c[k>>2]|0)+16|0;I=c[k+16>>2]|0;D=B+I<<13;I=B-I<<13;B=D+H|0;H=D-H|0;D=I+F|0;F=I-F|0;I=c[k+28>>2]|0;y=c[k+20>>2]|0;z=c[k+12>>2]|0;A=c[k+4>>2]|0;E=I+z|0;C=y+A|0;G=(E+C|0)*9633|0;E=(da(E,-16069)|0)+G|0;G=(da(C,-3196)|0)+G|0;C=da(I+A|0,-7373)|0;I=(I*2446|0)+(C+E)|0;C=(A*12299|0)+(C+G)|0;A=da(y+z|0,-20995)|0;G=(y*16819|0)+(A+G)|0;E=(z*25172|0)+(A+E)|0;a[J+h>>0]=a[d+(((B+C|0)>>>18&1023)+128)>>0]|0;a[J+(h+7)>>0]=a[d+(((B-C|0)>>>18&1023)+128)>>0]|0;a[J+(h+1)>>0]=a[d+(((D+E|0)>>>18&1023)+128)>>0]|0;a[J+(h+6)>>0]=a[d+(((D-E|0)>>>18&1023)+128)>>0]|0;a[J+(h+2)>>0]=a[d+(((F+G|0)>>>18&1023)+128)>>0]|0;a[J+(h+5)>>0]=a[d+(((F-G|0)>>>18&1023)+128)>>0]|0;a[J+(h+3)>>0]=a[d+(((H+I|0)>>>18&1023)+128)>>0]|0;a[J+(h+4)>>0]=a[d+(((H-I|0)>>>18&1023)+128)>>0]|0;l=l+1|0;k=k+32|0}i=j;return}function ki(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0;j=i;i=i+400|0;k=j;d=c[d+336>>2]|0;l=1;m=0;n=c[e+84>>2]|0;e=k;while(1){if(!l){l=0;break}A=(da(b[f>>1]|0,c[n>>2]|0)|0)<<13|1024;u=da(b[f+64>>1]|0,c[n+128>>2]|0)|0;y=A+(u*10438|0)|0;w=A+(u*2578|0)|0;o=A+(da(u,-7223)|0)|0;u=A+(da(u,-11586)|0)>>11;A=da(b[f+32>>1]|0,c[n+64>>2]|0)|0;s=da(b[f+96>>1]|0,c[n+192>>2]|0)|0;q=(A+s|0)*9058|0;l=q+(A*2237|0)|0;q=q+(da(s,-14084)|0)|0;s=(A*5027|0)+(da(s,-11295)|0)|0;A=y+l|0;l=y-l|0;y=w+q|0;q=w-q|0;w=o+s|0;s=o-s|0;o=da(b[f+16>>1]|0,c[n+32>>2]|0)|0;p=da(b[f+48>>1]|0,c[n+96>>2]|0)|0;t=da(b[f+80>>1]|0,c[n+160>>2]|0)|0;B=da(b[f+112>>1]|0,c[n+224>>2]|0)|0;r=B<<13;F=o+t|0;x=(o+p|0)*10935|0;D=F*9810|0;z=x+D+r+(da(o,-9232)|0)|0;F=F*6164|0;C=o-p|0;E=(C*3826|0)-r|0;o=F+(da(o,-8693)|0)+E|0;v=(da(p+t|0,-1297)|0)-r|0;x=x+(v+(da(p,-3474)|0))|0;v=D+(v+(da(t,-19447)|0))|0;D=(t-p|0)*11512|0;r=F+(D+r+(da(t,-13850)|0))|0;p=E+(D+(p*5529|0))|0;t=C+B-t<<2;c[e>>2]=A+z>>11;c[e+364>>2]=A-z>>11;c[e+28>>2]=y+x>>11;c[e+336>>2]=y-x>>11;c[e+56>>2]=w+v>>11;c[e+308>>2]=w-v>>11;c[e+84>>2]=u+t;c[e+280>>2]=u-t;c[e+112>>2]=s+r>>11;c[e+252>>2]=s-r>>11;c[e+140>>2]=q+p>>11;c[e+224>>2]=q-p>>11;c[e+168>>2]=l+o>>11;c[e+196>>2]=l-o>>11;o=m+1|0;l=(o|0)<7;m=o;f=f+2|0;n=n+4|0;e=e+4|0}while(1){if((l|0)>=14)break;F=c[g+(l<<2)>>2]|0;C=(c[k>>2]<<13)+131072|0;A=c[k+8>>2]|0;D=c[k+16>>2]|0;w=c[k+24>>2]|0;B=(D-w|0)*7223|0;u=(A-D|0)*2578|0;y=B+u+C+(da(D,-15083)|0)|0;E=A+w|0;v=(E*10438|0)+C|0;w=B+(v+(da(w,-637)|0))|0;A=u+(v+(da(A,-20239)|0))|0;v=c[k+4>>2]|0;u=c[k+12>>2]|0;B=c[k+20>>2]|0;t=(v+u|0)*7663|0;x=(v-u|0)*1395|0;u=da(u+B|0,-11295)|0;z=t+x+u|0;v=(v+B|0)*5027|0;x=t-x+v|0;B=u+(v+(B*15326|0))|0;a[F+h>>0]=a[d+(((w+x|0)>>>18&1023)+128)>>0]|0;a[F+(h+6)>>0]=a[d+(((w-x|0)>>>18&1023)+128)>>0]|0;a[F+(h+1)>>0]=a[d+(((y+z|0)>>>18&1023)+128)>>0]|0;a[F+(h+5)>>0]=a[d+(((y-z|0)>>>18&1023)+128)>>0]|0;a[F+(h+2)>>0]=a[d+(((A+B|0)>>>18&1023)+128)>>0]|0;a[F+(h+4)>>0]=a[d+(((A-B|0)>>>18&1023)+128)>>0]|0;a[F+(h+3)>>0]=a[d+(((C+((D-E|0)*11585|0)|0)>>>18&1023)+128)>>0]|0;l=l+1|0;k=k+28|0}i=j;return}function li(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0;j=i;i=i+288|0;k=j;d=c[d+336>>2]|0;l=1;m=0;n=c[e+84>>2]|0;e=k;while(1){if(!l){l=0;break}l=(da(b[f>>1]|0,c[n>>2]|0)|0)<<13|1024;A=(da(b[f+64>>1]|0,c[n+128>>2]|0)|0)*10033|0;p=l+A|0;A=l-A|0;u=da(b[f+32>>1]|0,c[n+64>>2]|0)|0;z=u*11190|0;u=u<<13;s=(da(b[f+96>>1]|0,c[n+192>>2]|0)|0)<<13;q=u-s|0;w=l+q|0;q=l-q|0;l=z+s|0;y=p+l|0;l=p-l|0;s=z-u-s|0;u=A+s|0;s=A-s|0;A=da(b[f+16>>1]|0,c[n+32>>2]|0)|0;z=da(b[f+48>>1]|0,c[n+96>>2]|0)|0;p=da(b[f+80>>1]|0,c[n+160>>2]|0)|0;v=da(b[f+112>>1]|0,c[n+224>>2]|0)|0;r=z*10703|0;o=da(z,-4433)|0;t=A+p|0;B=(t+v|0)*7053|0;t=B+(t*2139|0)|0;x=t+r+(A*2295|0)|0;C=da(p+v|0,-8565)|0;t=t+(C+o+(da(p,-12112)|0))|0;r=C+(B-r+(v*12998|0))|0;o=B+(o+(da(A,-5540)|0)+(da(v,-16244)|0))|0;v=A-v|0;p=z-p|0;z=(v+p|0)*4433|0;v=z+(v*6270|0)|0;p=z+(da(p,-15137)|0)|0;c[e>>2]=y+x>>11;c[e+264>>2]=y-x>>11;c[e+24>>2]=w+v>>11;c[e+240>>2]=w-v>>11;c[e+48>>2]=u+t>>11;c[e+216>>2]=u-t>>11;c[e+72>>2]=s+r>>11;c[e+192>>2]=s-r>>11;c[e+96>>2]=q+p>>11;c[e+168>>2]=q-p>>11;c[e+120>>2]=l+o>>11;c[e+144>>2]=l-o>>11;o=m+1|0;l=(o|0)<6;m=o;f=f+2|0;n=n+4|0;e=e+4|0}while(1){if((l|0)>=12)break;C=c[g+(l<<2)>>2]|0;A=(c[k>>2]<<13)+131072|0;y=(c[k+16>>2]|0)*5793|0;u=A+y|0;y=A-y-y|0;A=(c[k+8>>2]|0)*10033|0;w=u+A|0;A=u-A|0;u=c[k+4>>2]|0;v=c[k+12>>2]|0;z=c[k+20>>2]|0;B=(u+z|0)*2998|0;x=B+(u+v<<13)|0;B=B+(z-v<<13)|0;z=u-v-z<<13;a[C+h>>0]=a[d+(((w+x|0)>>>18&1023)+128)>>0]|0;a[C+(h+5)>>0]=a[d+(((w-x|0)>>>18&1023)+128)>>0]|0;a[C+(h+1)>>0]=a[d+(((y+z|0)>>>18&1023)+128)>>0]|0;a[C+(h+4)>>0]=a[d+(((y-z|0)>>>18&1023)+128)>>0]|0;a[C+(h+2)>>0]=a[d+(((A+B|0)>>>18&1023)+128)>>0]|0;a[C+(h+3)>>0]=a[d+(((A-B|0)>>>18&1023)+128)>>0]|0;l=l+1|0;k=k+24|0}i=j;return}function mi(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;j=i;i=i+208|0;k=j;d=c[d+336>>2]|0;l=1;m=0;n=c[e+84>>2]|0;e=k;while(1){if(!l){l=0;break}l=(da(b[f>>1]|0,c[n>>2]|0)|0)<<13|1024;s=da(b[f+64>>1]|0,c[n+128>>2]|0)|0;u=l+(s*9373|0)|0;y=l+(da(s,-3580)|0)|0;s=l+(da(s,-11586)|0)>>11;l=da(b[f+32>>1]|0,c[n+64>>2]|0)|0;q=da(b[f+96>>1]|0,c[n+192>>2]|0)|0;w=(l+q|0)*6810|0;l=w+(l*4209|0)|0;q=w+(da(q,-17828)|0)|0;w=u+l|0;l=u-l|0;u=y+q|0;q=y-q|0;y=da(b[f+16>>1]|0,c[n+32>>2]|0)|0;p=da(b[f+48>>1]|0,c[n+96>>2]|0)|0;r=da(b[f+80>>1]|0,c[n+160>>2]|0)|0;t=da(b[f+112>>1]|0,c[n+224>>2]|0)|0;x=p+t|0;t=p-t|0;p=t*2531|0;z=r<<13;A=x*7791|0;o=z+p|0;v=(y*11443|0)+A+o|0;o=(y*1812|0)-A+o|0;x=x*4815|0;p=z-p-(t<<12)|0;r=y-t-r<<2;t=(y*10323|0)-x-p|0;p=(y*5260|0)-x+p|0;c[e>>2]=w+v>>11;c[e+180>>2]=w-v>>11;c[e+20>>2]=u+t>>11;c[e+160>>2]=u-t>>11;c[e+40>>2]=s+r;c[e+140>>2]=s-r;c[e+60>>2]=q+p>>11;c[e+120>>2]=q-p>>11;c[e+80>>2]=l+o>>11;c[e+100>>2]=l-o>>11;o=m+1|0;l=(o|0)<5;m=o;f=f+2|0;n=n+4|0;e=e+4|0}while(1){if((l|0)>=10)break;A=c[g+(l<<2)>>2]|0;w=(c[k>>2]<<13)+131072|0;y=c[k+8>>2]|0;z=c[k+16>>2]|0;x=(y+z|0)*6476|0;z=y-z|0;y=w+(z*2896|0)|0;v=y+x|0;x=y-x|0;z=w+(da(z,-11584)|0)|0;w=c[k+4>>2]|0;y=c[k+12>>2]|0;u=(w+y|0)*6810|0;w=u+(w*4209|0)|0;y=u+(da(y,-17828)|0)|0;a[A+h>>0]=a[d+(((v+w|0)>>>18&1023)+128)>>0]|0;a[A+(h+4)>>0]=a[d+(((v-w|0)>>>18&1023)+128)>>0]|0;a[A+(h+1)>>0]=a[d+(((x+y|0)>>>18&1023)+128)>>0]|0;a[A+(h+3)>>0]=a[d+(((x-y|0)>>>18&1023)+128)>>0]|0;a[A+(h+2)>>0]=a[d+((z>>>18&1023)+128)>>0]|0;l=l+1|0;k=k+20|0}i=j;return}function ni(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;j=i;i=i+128|0;k=j;d=c[d+336>>2]|0;m=c[e+84>>2]|0;e=4;o=k;while(1){if((e|0)<=0){l=0;break}n=b[f+16>>1]|0;p=b[f+32>>1]|0;if(n<<16>>16==0&p<<16>>16==0)if(((((b[f+48>>1]|0)==0?(b[f+64>>1]|0)==0:0)?(b[f+80>>1]|0)==0:0)?(b[f+96>>1]|0)==0:0)?(b[f+112>>1]|0)==0:0){p=(da(b[f>>1]|0,c[m>>2]|0)|0)<<2;c[o>>2]=p;c[o+16>>2]=p;c[o+32>>2]=p;c[o+48>>2]=p;c[o+64>>2]=p;c[o+80>>2]=p;c[o+96>>2]=p;c[o+112>>2]=p}else{p=0;l=10}else l=10;if((l|0)==10){l=0;q=da(p<<16>>16,c[m+64>>2]|0)|0;r=da(b[f+96>>1]|0,c[m+192>>2]|0)|0;v=(q+r|0)*4433|0;q=v+(q*6270|0)|0;r=v+(da(r,-15137)|0)|0;v=da(b[f>>1]|0,c[m>>2]|0)|0;p=(da(b[f+64>>1]|0,c[m+128>>2]|0)|0)<<13;v=v<<13|1024;t=v+p|0;p=v-p|0;v=t+q|0;q=t-q|0;t=p+r|0;r=p-r|0;p=da(b[f+112>>1]|0,c[m+224>>2]|0)|0;y=da(b[f+80>>1]|0,c[m+160>>2]|0)|0;x=da(b[f+48>>1]|0,c[m+96>>2]|0)|0;w=da(n<<16>>16,c[m+32>>2]|0)|0;s=p+x|0;u=y+w|0;n=(s+u|0)*9633|0;s=(da(s,-16069)|0)+n|0;n=(da(u,-3196)|0)+n|0;u=da(p+w|0,-7373)|0;p=(p*2446|0)+(u+s)|0;u=(w*12299|0)+(u+n)|0;w=da(y+x|0,-20995)|0;n=(y*16819|0)+(w+n)|0;s=(x*25172|0)+(w+s)|0;c[o>>2]=v+u>>11;c[o+112>>2]=v-u>>11;c[o+16>>2]=t+s>>11;c[o+96>>2]=t-s>>11;c[o+32>>2]=r+n>>11;c[o+80>>2]=r-n>>11;c[o+48>>2]=q+p>>11;c[o+64>>2]=q-p>>11}f=f+2|0;m=m+4|0;e=e+ -1|0;o=o+4|0}while(1){if((l|0)>=8)break;y=c[g+(l<<2)>>2]|0;v=(c[k>>2]|0)+16|0;w=c[k+8>>2]|0;u=v+w<<13;w=v-w<<13;v=c[k+4>>2]|0;x=c[k+12>>2]|0;t=(v+x|0)*4433|0;v=t+(v*6270|0)|0;x=t+(da(x,-15137)|0)|0;a[y+h>>0]=a[d+(((u+v|0)>>>18&1023)+128)>>0]|0;a[y+(h+3)>>0]=a[d+(((u-v|0)>>>18&1023)+128)>>0]|0;a[y+(h+1)>>0]=a[d+(((w+x|0)>>>18&1023)+128)>>0]|0;a[y+(h+2)>>0]=a[d+(((w-x|0)>>>18&1023)+128)>>0]|0;l=l+1|0;k=k+16|0}i=j;return}function oi(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;j=i;i=i+80|0;k=j;d=c[d+336>>2]|0;l=1;m=0;n=c[e+84>>2]|0;e=k;while(1){if(!l){l=0;break}l=(da(b[f>>1]|0,c[n>>2]|0)|0)<<13|1024;q=(da(b[f+64>>1]|0,c[n+128>>2]|0)|0)*5793|0;u=l+q|0;q=l-q-q>>11;l=(da(b[f+32>>1]|0,c[n+64>>2]|0)|0)*10033|0;s=u+l|0;l=u-l|0;u=da(b[f+16>>1]|0,c[n+32>>2]|0)|0;t=da(b[f+48>>1]|0,c[n+96>>2]|0)|0;p=da(b[f+80>>1]|0,c[n+160>>2]|0)|0;o=(u+p|0)*2998|0;r=o+(u+t<<13)|0;o=o+(p-t<<13)|0;p=u-t-p<<2;c[e>>2]=s+r>>11;c[e+60>>2]=s-r>>11;c[e+12>>2]=q+p;c[e+48>>2]=q-p;c[e+24>>2]=l+o>>11;c[e+36>>2]=l-o>>11;o=m+1|0;l=(o|0)<3;m=o;f=f+2|0;n=n+4|0;e=e+4|0}while(1){if((l|0)>=6)break;u=c[g+(l<<2)>>2]|0;s=(c[k>>2]<<13)+131072|0;t=(c[k+8>>2]|0)*5793|0;q=s+t|0;r=(c[k+4>>2]|0)*10033|0;a[u+h>>0]=a[d+(((q+r|0)>>>18&1023)+128)>>0]|0;a[u+(h+2)>>0]=a[d+(((q-r|0)>>>18&1023)+128)>>0]|0;a[u+(h+1)>>0]=a[d+(((s-t-t|0)>>>18&1023)+128)>>0]|0;l=l+1|0;k=k+12|0}i=j;return}function pi(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;j=i;i=i+32|0;k=j;d=c[d+336>>2]|0;l=1;m=0;n=c[e+84>>2]|0;e=k;while(1){if(!l){l=0;break}p=da(b[f>>1]|0,c[n>>2]|0)|0;l=da(b[f+32>>1]|0,c[n+64>>2]|0)|0;q=p+l<<13;l=p-l<<13;p=da(b[f+16>>1]|0,c[n+32>>2]|0)|0;o=da(b[f+48>>1]|0,c[n+96>>2]|0)|0;r=(p+o|0)*4433|0;p=r+(p*6270|0)|0;o=r+(da(o,-15137)|0)|0;c[e>>2]=q+p;c[e+24>>2]=q-p;c[e+8>>2]=l+o;c[e+16>>2]=l-o;o=m+1|0;l=(o|0)<2;m=o;f=f+2|0;n=n+4|0;e=e+4|0}while(1){if((l|0)>=4)break;r=c[g+(l<<2)>>2]|0;p=(c[k>>2]|0)+32768|0;q=c[k+4>>2]|0;a[r+h>>0]=a[d+(((p+q|0)>>>16&1023)+128)>>0]|0;a[r+(h+1)>>0]=a[d+(((p-q|0)>>>16&1023)+128)>>0]|0;l=l+1|0;k=k+8|0}i=j;return}function qi(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0;i=c[d+336>>2]|0;d=c[e+84>>2]|0;e=(da(b[f>>1]|0,c[d>>2]|0)|0)+4|0;d=da(b[f+16>>1]|0,c[d+32>>2]|0)|0;a[(c[g>>2]|0)+h>>0]=a[i+(((e+d|0)>>>3&1023)+128)>>0]|0;a[(c[g+4>>2]|0)+h>>0]=a[i+(((e-d|0)>>>3&1023)+128)>>0]|0;return}function ri(a,b){a=a|0;b=b|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;b=i;g=a+484|0;f=c[g>>2]|0;c[a+136>>2]=c[f+16>>2];c[a+132>>2]=c[f+20>>2];e=c[a+88>>2]|0;if((e|0)==0){e=f+4|0;if((c[a+120>>2]|0)==3){c[e>>2]=46;i=b;return}else{c[e>>2]=47;i=b;return}}else if((e|0)==1){e=a+120|0;h=f+4|0;if((c[e>>2]|0)==3)c[h>>2]=48;else c[h>>2]=49;c[f+48>>2]=0;if((c[f+28>>2]|0)==0)ui(a);if((c[f+52>>2]|0)!=0){i=b;return}f=c[g>>2]|0;h=a+4|0;g=0;while(1){if((g|0)>=(c[e>>2]|0))break;l=c[f+(g<<2)+32>>2]|0;j=0;while(1){if((j|0)>=(g|0)){k=18;break}if((l|0)==(c[f+(j<<2)+32>>2]|0)){k=17;break}j=j+1|0}if((k|0)==17){k=0;j=c[f+(j<<2)+52>>2]|0;if((j|0)==0)k=18}a:do if((k|0)==18){j=md[c[c[h>>2]>>2]&63](a,1,1024)|0;l=(l<<9)+ -512|0;m=0;while(1){if((m|0)<16)k=0;else break a;while(1){if((k|0)>=16)break;o=255-((d[8176+(m<<4)+k>>0]|0)<<1)|0;n=o*255|0;if((o|0)<0)n=0-((0-n|0)/(l|0)|0)|0;else n=(n|0)/(l|0)|0;c[j+(m<<6)+(k<<2)>>2]=n;k=k+1|0}m=m+1|0}}while(0);c[f+(g<<2)+52>>2]=j;g=g+1|0}i=b;return}else if((e|0)==2){c[f+4>>2]=50;c[f+84>>2]=0;b:do if((c[f+68>>2]|0)==0){k=c[g>>2]|0;e=a+112|0;l=(c[e>>2]<<1)+4|0;h=a+120|0;g=a+4|0;j=0;while(1){if((j|0)>=(c[h>>2]|0))break b;c[k+(j<<2)+68>>2]=md[c[(c[g>>2]|0)+4>>2]&63](a,1,l)|0;j=j+1|0}}else{h=a+120|0;e=a+112|0}while(0);a=(c[e>>2]<<1)+4|0;e=0;while(1){if((e|0)>=(c[h>>2]|0))break;st(c[f+(e<<2)+68>>2]|0,0,a|0)|0;e=e+1|0}i=b;return}else{c[(c[a>>2]|0)+20>>2]=49;qd[c[c[a>>2]>>2]&255](a);i=b;return}}function si(a){a=a|0;return}function ti(a){a=a|0;var b=0;b=i;c[(c[a>>2]|0)+20>>2]=47;qd[c[c[a>>2]>>2]&255](a);i=b;return}function ui(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;e=i;d=c[b+484>>2]|0;f=d+28|0;if((c[b+88>>2]|0)==1){c[f>>2]=1;h=510}else{c[f>>2]=0;h=0}g=b+120|0;f=d+24|0;c[f>>2]=Ad[c[(c[b+4>>2]|0)+8>>2]&31](b,1,h+256|0,c[g>>2]|0)|0;h=(h|0)==0;j=c[d+20>>2]|0;b=0;while(1){if((b|0)>=(c[g>>2]|0))break;n=c[d+(b<<2)+32>>2]|0;j=(j|0)/(n|0)|0;if(!h){p=(c[f>>2]|0)+(b<<2)|0;c[p>>2]=(c[p>>2]|0)+255}k=c[(c[f>>2]|0)+(b<<2)>>2]|0;l=n+ -1|0;m=l<<1;p=(n+254|0)/((n<<1)+ -2|0)|0;n=0;o=0;while(1){if((n|0)>=256)break;while(1){if((n|0)<=(p|0))break;q=o+1|0;p=(((q<<1|1)*255|0)+l|0)/(m|0)|0;o=q}a[k+n>>0]=da(o,j)|0;n=n+1|0}a:do if(!h){l=k+255|0;m=1;while(1){if((m|0)>=256)break a;a[k+(0-m)>>0]=a[k>>0]|0;a[k+(m+255)>>0]=a[l>>0]|0;m=m+1|0}}while(0);b=b+1|0}i=e;return}function vi(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;l=i;h=c[(c[b+484>>2]|0)+24>>2]|0;j=c[h>>2]|0;k=c[h+4>>2]|0;h=c[h+8>>2]|0;m=c[b+112>>2]|0;b=0;while(1){if((b|0)>=(g|0))break;n=c[e+(b<<2)>>2]|0;o=c[f+(b<<2)>>2]|0;p=m;while(1){if((p|0)==0)break;a[o>>0]=(d[j+(d[n>>0]|0)>>0]|0)+(d[k+(d[n+1>>0]|0)>>0]|0)+(d[h+(d[n+2>>0]|0)>>0]|0);n=n+3|0;o=o+1|0;p=p+ -1|0}b=b+1|0}i=l;return}function wi(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;j=i;k=c[(c[b+484>>2]|0)+24>>2]|0;h=c[b+112>>2]|0;l=c[b+120>>2]|0;b=0;while(1){if((b|0)>=(g|0))break;p=c[e+(b<<2)>>2]|0;m=c[f+(b<<2)>>2]|0;n=h;while(1){if((n|0)==0)break;else{o=0;q=0}while(1){if((q|0)>=(l|0))break;o=o+(d[(c[k+(q<<2)>>2]|0)+(d[p>>0]|0)>>0]|0)|0;p=p+1|0;q=q+1|0}a[m>>0]=o;m=m+1|0;n=n+ -1|0}b=b+1|0}i=j;return}function xi(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;h=i;n=c[b+484>>2]|0;j=c[n+24>>2]|0;l=c[j>>2]|0;k=c[j+4>>2]|0;j=c[j+8>>2]|0;s=c[b+112>>2]|0;q=n+48|0;p=n+52|0;o=n+56|0;n=n+60|0;m=0;while(1){if((m|0)>=(g|0))break;b=c[q>>2]|0;t=c[p>>2]|0;u=c[o>>2]|0;v=c[n>>2]|0;x=0;w=c[e+(m<<2)>>2]|0;r=c[f+(m<<2)>>2]|0;y=s;while(1){if((y|0)==0)break;a[r>>0]=(d[l+((d[w>>0]|0)+(c[t+(b<<6)+(x<<2)>>2]|0))>>0]|0)+(d[k+((d[w+1>>0]|0)+(c[u+(b<<6)+(x<<2)>>2]|0))>>0]|0)+(d[j+((d[w+2>>0]|0)+(c[v+(b<<6)+(x<<2)>>2]|0))>>0]|0);x=x+1&15;w=w+3|0;r=r+1|0;y=y+ -1|0}c[q>>2]=b+1&15;m=m+1|0}i=h;return}function yi(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;k=i;j=c[b+484>>2]|0;h=c[b+120>>2]|0;m=c[b+112>>2]|0;n=j+48|0;b=j+24|0;o=0;while(1){if((o|0)>=(g|0))break;r=f+(o<<2)|0;st(c[r>>2]|0,0,m|0)|0;p=c[n>>2]|0;q=e+(o<<2)|0;s=0;while(1){if((s|0)>=(h|0))break;u=c[(c[b>>2]|0)+(s<<2)>>2]|0;w=c[j+(s<<2)+52>>2]|0;x=0;v=(c[q>>2]|0)+s|0;t=c[r>>2]|0;l=m;while(1){if((l|0)==0)break;a[t>>0]=(d[t>>0]|0)+(d[u+((d[v>>0]|0)+(c[w+(p<<6)+(x<<2)>>2]|0))>>0]|0);x=x+1&15;v=v+h|0;t=t+1|0;l=l+ -1|0}s=s+1|0}c[n>>2]=p+1&15;o=o+1|0}i=k;return}function zi(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0;m=i;l=c[e+484>>2]|0;j=c[e+120>>2]|0;k=c[e+112>>2]|0;s=c[e+336>>2]|0;t=l+84|0;p=l+24|0;q=l+16|0;e=k+ -1|0;n=da(e,j)|0;w=0-j|0;o=k+1|0;r=0;while(1){if((r|0)>=(h|0))break;x=g+(r<<2)|0;st(c[x>>2]|0,0,k|0)|0;u=f+(r<<2)|0;y=0;while(1){if((y|0)>=(j|0))break;G=c[x>>2]|0;if((c[t>>2]|0)==0){z=1;v=j;H=y;F=c[l+(y<<2)+68>>2]|0}else{z=-1;v=w;G=G+e|0;H=y+n|0;F=(c[l+(y<<2)+68>>2]|0)+(o<<1)|0}A=c[(c[p>>2]|0)+(y<<2)>>2]|0;D=c[(c[q>>2]|0)+(y<<2)>>2]|0;B=0;C=0;E=0;H=(c[u>>2]|0)+H|0;I=k;while(1){if((I|0)==0)break;J=F+(z<<1)|0;K=d[s+((E+(b[J>>1]|0)+8>>4)+(d[H>>0]|0))>>0]|0;N=d[A+K>>0]|0;a[G>>0]=(d[G>>0]|0)+N;N=K-(d[D+N>>0]|0)|0;K=N<<1;L=N+K|0;b[F>>1]=C+L;L=L+K|0;M=B+L|0;B=N;C=M;E=L+K|0;F=J;H=H+v|0;G=G+z|0;I=I+ -1|0}b[F>>1]=C;y=y+1|0}c[t>>2]=(c[t>>2]|0)==0&1;r=r+1|0}i=m;return}function Ai(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;f=c[a+484>>2]|0;e=c[f+24>>2]|0;g=a+88|0;if((c[g>>2]|0)==0)h=0;else{c[g>>2]=2;h=2}if((b|0)==0){b=f+4|0;if((h|0)==2)c[b>>2]=52;else c[b>>2]=53;c[f+8>>2]=166;h=c[a+132>>2]|0;if((h|0)>=1){if((h|0)>256){c[(c[a>>2]|0)+20>>2]=59;c[(c[a>>2]|0)+24>>2]=256;qd[c[c[a>>2]>>2]&255](a)}}else{c[(c[a>>2]|0)+20>>2]=58;c[(c[a>>2]|0)+24>>2]=1;qd[c[c[a>>2]>>2]&255](a)}if((c[g>>2]|0)==2){g=((c[a+112>>2]|0)*6|0)+12|0;b=f+32|0;h=c[b>>2]|0;if((h|0)==0){h=md[c[(c[a+4>>2]|0)+4>>2]&63](a,1,g)|0;c[b>>2]=h}st(h|0,0,g|0)|0;if((c[f+40>>2]|0)==0)Ci(a);c[f+36>>2]=0}}else{c[f+4>>2]=51;c[f+8>>2]=165;c[f+28>>2]=1}a=f+28|0;if((c[a>>2]|0)==0){i=d;return}else f=0;while(1){if((f|0)>=32)break;st(c[e+(f<<2)>>2]|0,0,4096)|0;f=f+1|0}c[a>>2]=0;i=d;return}function Bi(a){a=a|0;c[(c[a+484>>2]|0)+28>>2]=1;return}function Ci(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;b=i;f=c[a+484>>2]|0;a=(md[c[c[a+4>>2]>>2]&63](a,1,2044)|0)+1020|0;c[f+40>>2]=a;f=1;e=0;d=0;while(1){if(!f)break;c[a+(e<<2)>>2]=d;c[a+(0-e<<2)>>2]=0-d;g=e+1|0;f=(g|0)<16;e=g;d=d+1|0}while(1){if((e|0)>=48)break;c[a+(e<<2)>>2]=d;c[a+(0-e<<2)>>2]=0-d;g=e+1|0;e=g;d=d+(g&1^1)|0}f=0-d|0;while(1){if((e|0)>=256)break;c[a+(e<<2)>>2]=d;c[a+(0-e<<2)>>2]=f;e=e+1|0}i=b;return}function Di(a,e,f,g){a=a|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0;f=i;h=c[(c[a+484>>2]|0)+24>>2]|0;a=c[a+112>>2]|0;j=0;while(1){if((j|0)>=(g|0))break;k=c[e+(j<<2)>>2]|0;l=a;while(1){if((l|0)==0)break;m=(c[h+((d[k>>0]|0)>>>3<<2)>>2]|0)+((d[k+1>>0]|0)>>>2<<6)+((d[k+2>>0]|0)>>>3<<1)|0;o=b[m>>1]|0;n=o+1<<16>>16;b[m>>1]=n<<16>>16==0?o:n;k=k+3|0;l=l+ -1|0}j=j+1|0}i=f;return}function Ei(d){d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;e=i;f=d+484|0;k=c[f>>2]|0;h=d+136|0;c[h>>2]=c[k+16>>2];l=c[k+20>>2]|0;g=md[c[c[d+4>>2]>>2]&63](d,1,l<<5)|0;c[g>>2]=0;c[g+4>>2]=31;c[g+8>>2]=0;c[g+12>>2]=63;c[g+16>>2]=0;c[g+20>>2]=31;Ji(c[(c[f>>2]|0)+24>>2]|0,g);j=1;while(1){if((j|0)>=(l|0)){l=0;break}a:do if((j<<1|0)>(l|0)){n=0;o=0;m=g;x=0;while(1){if((n|0)>=(j|0))break a;C=c[m+24>>2]|0;B=(C|0)>(o|0);D=B?m:x;n=n+1|0;o=B?C:o;m=m+32|0;x=D}}else{n=0;o=0;m=g;x=0;while(1){if((n|0)>=(j|0))break a;p=c[m+28>>2]|0;if((p|0)>(o|0)){D=(c[m+24>>2]|0)>0;o=D?p:o;x=D?m:x}n=n+1|0;m=m+32|0}}while(0);if((x|0)==0){l=0;break}z=g+(j<<5)|0;v=x+4|0;c[g+(j<<5)+4>>2]=c[v>>2];r=x+12|0;c[g+(j<<5)+12>>2]=c[r>>2];m=x+20|0;c[g+(j<<5)+20>>2]=c[m>>2];c[z>>2]=c[x>>2];q=x+8|0;s=g+(j<<5)+8|0;c[s>>2]=c[q>>2];w=x+16|0;n=g+(j<<5)+16|0;c[n>>2]=c[w>>2];t=c[v>>2]|0;u=c[x>>2]|0;C=t-u<<4;p=c[r>>2]|0;q=c[q>>2]|0;D=(p-q|0)*12|0;y=c[m>>2]|0;w=c[w>>2]|0;o=(C|0)>(D|0);do if((y-w<<3|0)<=((o?C:D)|0))if(o){D=(t+u|0)/2|0;c[v>>2]=D;c[z>>2]=D+1;break}else{D=(p+q|0)/2|0;c[r>>2]=D;c[s>>2]=D+1;break}else{D=(y+w|0)/2|0;c[m>>2]=D;c[n>>2]=D+1}while(0);Ji(c[(c[f>>2]|0)+24>>2]|0,x);Ji(c[(c[f>>2]|0)+24>>2]|0,z);j=j+1|0}while(1){if((l|0)>=(j|0))break;m=c[(c[f>>2]|0)+24>>2]|0;o=c[g+(l<<5)+4>>2]|0;n=c[g+(l<<5)+8>>2]|0;r=c[g+(l<<5)+12>>2]|0;p=c[g+(l<<5)+16>>2]|0;s=c[g+(l<<5)+20>>2]|0;x=0;A=0;y=0;q=c[g+(l<<5)>>2]|0;z=0;while(1){if((q|0)>(o|0))break;u=m+(q<<2)|0;t=q<<3|4;v=n;while(1){if((v|0)>(r|0))break;w=v<<2|2;B=(c[u>>2]|0)+(v<<6)+(p<<1)|0;C=p;while(1){if((C|0)>(s|0))break;E=b[B>>1]|0;D=E&65535;if(!(E<<16>>16==0)){x=x+(da(t,D)|0)|0;A=A+(da(w,D)|0)|0;y=y+(da(C<<3|4,D)|0)|0;z=z+D|0}B=B+2|0;C=C+1|0}v=v+1|0}q=q+1|0}E=z>>1;a[(c[c[h>>2]>>2]|0)+l>>0]=(x+E|0)/(z|0)|0;a[(c[(c[h>>2]|0)+4>>2]|0)+l>>0]=(A+E|0)/(z|0)|0;a[(c[(c[h>>2]|0)+8>>2]|0)+l>>0]=(y+E|0)/(z|0)|0;l=l+1|0}c[d+132>>2]=j;c[(c[d>>2]|0)+20>>2]=98;c[(c[d>>2]|0)+24>>2]=j;rd[c[(c[d>>2]|0)+4>>2]&127](d,1);c[k+28>>2]=1;i=e;return}function Fi(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0;x=i;k=c[e+484>>2]|0;q=c[k+24>>2]|0;s=c[e+112>>2]|0;o=c[e+336>>2]|0;p=c[k+40>>2]|0;u=c[e+136>>2]|0;j=c[u>>2]|0;t=c[u+4>>2]|0;u=c[u+8>>2]|0;y=k+36|0;k=k+32|0;l=s*3|0;m=l+ -3|0;n=s+ -1|0;l=l+3|0;r=0;while(1){if((r|0)>=(h|0))break;I=c[f+(r<<2)>>2]|0;J=c[g+(r<<2)>>2]|0;if((c[y>>2]|0)==0){w=1;v=3;H=c[k>>2]|0;z=1}else{w=-1;v=-3;H=(c[k>>2]|0)+(l<<1)|0;I=I+m|0;J=J+n|0;z=0}c[y>>2]=z;F=v+1|0;G=v+2|0;C=0;A=0;z=0;B=0;D=0;E=0;M=0;N=0;O=0;K=s;while(1){if((K|0)==0)break;L=H+(v<<1)|0;M=d[o+((c[p+(M+(b[L>>1]|0)+8>>4<<2)>>2]|0)+(d[I>>0]|0))>>0]|0;N=d[o+((c[p+(N+(b[H+(F<<1)>>1]|0)+8>>4<<2)>>2]|0)+(d[I+1>>0]|0))>>0]|0;O=d[o+((c[p+(O+(b[H+(G<<1)>>1]|0)+8>>4<<2)>>2]|0)+(d[I+2>>0]|0))>>0]|0;S=O>>>3;Q=N>>>2;R=M>>>3;T=(c[q+(R<<2)>>2]|0)+(Q<<6)+(S<<1)|0;P=b[T>>1]|0;if(P<<16>>16==0){Ii(e,R,Q,S);P=b[T>>1]|0}V=(P&65535)+ -1|0;a[J>>0]=V;X=M-(d[j+V>>0]|0)|0;W=N-(d[t+V>>0]|0)|0;V=O-(d[u+V>>0]|0)|0;M=X<<1;R=X+M|0;b[H>>1]=B+R;R=R+M|0;U=C+R|0;N=W<<1;S=W+N|0;b[H+2>>1]=D+S;S=S+N|0;P=A+S|0;O=V<<1;T=V+O|0;b[H+4>>1]=E+T;T=T+O|0;Q=z+T|0;C=X;A=W;z=V;B=U;D=P;E=Q;M=R+M|0;N=S+N|0;O=T+O|0;H=L;I=I+v|0;J=J+w|0;K=K+ -1|0}b[H>>1]=B;b[H+2>>1]=D;b[H+4>>1]=E;r=r+1|0}i=x;return}function Gi(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;n=i;l=c[(c[e+484>>2]|0)+24>>2]|0;k=c[e+112>>2]|0;m=0;while(1){if((m|0)>=(h|0))break;o=c[f+(m<<2)>>2]|0;j=c[g+(m<<2)>>2]|0;p=k;while(1){if((p|0)==0)break;t=(d[o>>0]|0)>>>3;s=(d[o+1>>0]|0)>>>2;r=(d[o+2>>0]|0)>>>3;q=(c[l+(t<<2)>>2]|0)+(s<<6)+(r<<1)|0;u=b[q>>1]|0;if(u<<16>>16==0){Ii(e,t,s,r);u=b[q>>1]|0}a[j>>0]=(u&65535)+255;o=o+3|0;j=j+1|0;p=p+ -1|0}m=m+1|0}i=n;return}function Hi(a){a=a|0;return}function Ii(e,f,g,h){e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;j=i;i=i+1408|0;n=j;m=j+1152|0;l=j+1024|0;k=c[(c[e+484>>2]|0)+24>>2]|0;f=f>>2;g=g>>3;h=h>>2;y=f<<5;o=y|4;w=g<<5;p=w|2;v=h<<5;q=v|4;s=c[e+132>>2]|0;y=y|28;r=o+y>>1;w=w|30;x=p+w>>1;v=v|28;u=q+v>>1;e=e+136|0;t=2147483647;z=0;while(1){if((z|0)>=(s|0)){r=0;u=0;break}A=c[e>>2]|0;B=d[(c[A>>2]|0)+z>>0]|0;do if((B|0)>=(o|0)){if((B|0)>(y|0)){C=B-y<<1;B=B-o<<1;C=da(C,C)|0;B=da(B,B)|0;break}if((B|0)>(r|0)){B=B-o<<1;C=0;B=da(B,B)|0;break}else{B=B-y<<1;C=0;B=da(B,B)|0;break}}else{C=B-o<<1;B=B-y<<1;C=da(C,C)|0;B=da(B,B)|0}while(0);D=d[(c[A+4>>2]|0)+z>>0]|0;do if((D|0)>=(p|0)){if((D|0)>(w|0)){G=(D-w|0)*3|0;D=(D-p|0)*3|0;C=C+(da(G,G)|0)|0;D=da(D,D)|0;break}if((D|0)>(x|0)){D=(D-p|0)*3|0;D=da(D,D)|0;break}else{D=(D-w|0)*3|0;D=da(D,D)|0;break}}else{G=(D-p|0)*3|0;D=(D-w|0)*3|0;C=C+(da(G,G)|0)|0;D=da(D,D)|0}while(0);B=B+D|0;A=d[(c[A+8>>2]|0)+z>>0]|0;do if((A|0)>=(q|0)){if((A|0)>(v|0)){G=A-v|0;A=A-q|0;C=C+(da(G,G)|0)|0;A=da(A,A)|0;break}if((A|0)>(u|0)){A=A-q|0;A=da(A,A)|0;break}else{A=A-v|0;A=da(A,A)|0;break}}else{G=A-q|0;A=A-v|0;C=C+(da(G,G)|0)|0;A=da(A,A)|0}while(0);G=B+A|0;c[n+(z<<2)>>2]=C;t=(G|0)<(t|0)?G:t;z=z+1|0}while(1){if((u|0)>=(s|0))break;if((c[n+(u<<2)>>2]|0)<=(t|0)){a[m+r>>0]=u;r=r+1|0}u=u+1|0}t=n;s=127;while(1){if(!((s|0)>-1)){x=0;break}c[t>>2]=2147483647;t=t+4|0;s=s+ -1|0}while(1){if((x|0)>=(r|0))break;y=a[m+x>>0]|0;t=y&255;s=c[e>>2]|0;u=o-(d[(c[s>>2]|0)+t>>0]|0)|0;C=u<<1;C=da(C,C)|0;w=p-(d[(c[s+4>>2]|0)+t>>0]|0)|0;v=w*3|0;v=C+(da(v,v)|0)|0;t=q-(d[(c[s+8>>2]|0)+t>>0]|0)|0;w=(w*72|0)+144|0;s=(t<<4)+64|0;C=n;D=l;t=v+(da(t,t)|0)|0;v=3;u=(u<<6)+256|0;while(1){if((v|0)>-1){B=t;A=7;z=w}else break;while(1){if((A|0)>-1){G=B;E=3;F=s}else break;while(1){if(!((E|0)>-1))break;if((G|0)<(c[C>>2]|0)){c[C>>2]=G;a[D>>0]=y}C=C+4|0;D=D+1|0;G=G+F|0;E=E+ -1|0;F=F+128|0}B=B+z|0;A=A+ -1|0;z=z+288|0}t=t+u|0;v=v+ -1|0;u=u+512|0}x=x+1|0}m=f<<2;n=g<<3;h=h<<2;g=0;while(1){if((g|0)>=4)break;f=k+(m+g<<2)|0;o=0;while(1){if((o|0)>=8)break;p=(c[f>>2]|0)+(n+o<<6)+(h<<1)|0;q=0;while(1){if((q|0)>=4)break;b[p>>1]=(d[l>>0]|0)+1;p=p+2|0;l=l+1|0;q=q+1|0}o=o+1|0}g=g+1|0}i=j;return}function Ji(a,d){a=a|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;e=i;h=c[d>>2]|0;q=d+4|0;j=c[q>>2]|0;p=d+8|0;o=c[p>>2]|0;m=d+12|0;n=c[m>>2]|0;k=d+16|0;l=c[k>>2]|0;g=d+20|0;f=c[g>>2]|0;a:do if((j|0)>(h|0)){v=h;b:while(1){if((v|0)>(j|0))break a;u=a+(v<<2)|0;t=o;while(1){if((t|0)>(n|0))break;s=(c[u>>2]|0)+(t<<6)+(l<<1)|0;r=l;while(1){if((r|0)>(f|0))break;if((b[s>>1]|0)!=0)break b;s=s+2|0;r=r+1|0}t=t+1|0}v=v+1|0}c[d>>2]=v;h=v}while(0);c:do if((j|0)>(h|0)){s=j;d:while(1){if((s|0)<(h|0))break c;t=a+(s<<2)|0;u=o;while(1){if((u|0)>(n|0))break;r=(c[t>>2]|0)+(u<<6)+(l<<1)|0;v=l;while(1){if((v|0)>(f|0))break;if((b[r>>1]|0)!=0)break d;r=r+2|0;v=v+1|0}u=u+1|0}s=s+ -1|0}c[q>>2]=s;j=s}while(0);e:do if((n|0)>(o|0)){s=o;f:while(1){if((s|0)>(n|0))break e;else t=h;while(1){if((t|0)>(j|0))break;q=(c[a+(t<<2)>>2]|0)+(s<<6)+(l<<1)|0;r=l;while(1){if((r|0)>(f|0))break;if((b[q>>1]|0)!=0)break f;q=q+2|0;r=r+1|0}t=t+1|0}s=s+1|0}c[p>>2]=s;o=s}while(0);g:do if((n|0)>(o|0)){r=n;h:while(1){if((r|0)<(o|0))break g;else q=h;while(1){if((q|0)>(j|0))break;p=(c[a+(q<<2)>>2]|0)+(r<<6)+(l<<1)|0;s=l;while(1){if((s|0)>(f|0))break;if((b[p>>1]|0)!=0)break h;p=p+2|0;s=s+1|0}q=q+1|0}r=r+ -1|0}c[m>>2]=r;n=r}while(0);i:do if((f|0)>(l|0)){m=l;j:while(1){if((m|0)>(f|0))break i;else p=h;while(1){if((p|0)>(j|0))break;q=o;r=(c[a+(p<<2)>>2]|0)+(o<<6)+(m<<1)|0;while(1){if((q|0)>(n|0))break;if((b[r>>1]|0)!=0)break j;q=q+1|0;r=r+64|0}p=p+1|0}m=m+1|0}c[k>>2]=m;l=m}while(0);k:do if((f|0)>(l|0)){q=f;l:while(1){if((q|0)<(l|0))break k;else p=h;while(1){if((p|0)>(j|0))break;k=o;m=(c[a+(p<<2)>>2]|0)+(o<<6)+(q<<1)|0;while(1){if((k|0)>(n|0))break;if((b[m>>1]|0)!=0)break l;k=k+1|0;m=m+64|0}p=p+1|0}q=q+ -1|0}c[g>>2]=q;f=q}while(0);u=j-h<<4;v=(n-o|0)*12|0;p=f-l<<3;c[d+24>>2]=(da(u,u)|0)+(da(v,v)|0)+(da(p,p)|0);p=0;while(1){if((h|0)>(j|0))break;g=a+(h<<2)|0;k=o;while(1){if((k|0)>(n|0))break;m=l;q=(c[g>>2]|0)+(k<<6)+(l<<1)|0;while(1){if((m|0)>(f|0))break;m=m+1|0;p=(b[q>>1]|0)==0?p:p+1|0;q=q+2|0}k=k+1|0}h=h+1|0}c[d+28>>2]=p;i=e;return}function Ki(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0;d=i;i=i+16|0;g=d;e=d+8|0;f=d+12|0;j=b+4|0;c[j>>2]=0;c[e>>2]=0;h=Ts(84)|0;if((h|0)==0){c[(c[b>>2]|0)+20>>2]=56;c[(c[b>>2]|0)+24>>2]=0;qd[c[c[b>>2]>>2]&255](b)}c[h>>2]=47;c[h+4>>2]=48;c[h+8>>2]=27;c[h+12>>2]=28;c[h+16>>2]=22;c[h+20>>2]=23;c[h+24>>2]=167;c[h+28>>2]=34;c[h+32>>2]=35;c[h+36>>2]=70;c[h+40>>2]=168;c[h+48>>2]=1e9;b=h+44|0;c[b>>2]=c[e>>2];k=1;while(1){if(!((k|0)>-1))break;c[h+(k<<2)+52>>2]=0;c[h+(k<<2)+60>>2]=0;k=k+ -1|0}c[h+68>>2]=0;c[h+72>>2]=0;c[h+76>>2]=84;c[j>>2]=h;h=gc(9704)|0;if((h|0)==0){i=d;return}a[f>>0]=120;c[g>>2]=e;c[g+4>>2]=f;if((Wr(h,9712,g)|0)<=0){i=d;return}k=a[f>>0]|0;if(k<<24>>24==77|k<<24>>24==109){k=(c[e>>2]|0)*1e3|0;c[e>>2]=k;e=k}else e=c[e>>2]|0;c[b>>2]=e*1e3;i=d;return}function Li(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0;e=i;f=c[a+4>>2]|0;if(d>>>0>999999984){c[(c[a>>2]|0)+20>>2]=56;c[(c[a>>2]|0)+24>>2]=1;qd[c[c[a>>2]>>2]&255](a)}g=d&7;if((g|0)!=0)d=8-g+d|0;if((b|0)<0|(b|0)>1){c[(c[a>>2]|0)+20>>2]=15;c[(c[a>>2]|0)+24>>2]=b;qd[c[c[a>>2]>>2]&255](a)}h=f+(b<<2)+52|0;g=0;k=h;while(1){l=c[k>>2]|0;if((l|0)==0){j=11;break}if(!((c[l+8>>2]|0)>>>0<d>>>0))break;g=l;k=l}do if((j|0)==11){j=d+16|0;k=(g|0)==0;b=c[(k?9720:9728)+(b<<2)>>2]|0;m=999999984-d|0;b=b>>>0>m>>>0?m:b;while(1){m=j+b|0;l=Ts(m)|0;if((l|0)!=0)break;l=b>>>1;if(!(b>>>0<100)){b=l;continue}c[(c[a>>2]|0)+20>>2]=56;c[(c[a>>2]|0)+24>>2]=2;qd[c[c[a>>2]>>2]&255](a);b=l}j=f+76|0;c[j>>2]=(c[j>>2]|0)+m;c[l>>2]=0;c[l+4>>2]=0;c[l+8>>2]=d+b;if(k){c[h>>2]=l;break}else{c[g>>2]=l;break}}while(0);k=l+4|0;m=c[k>>2]|0;c[k>>2]=m+d;k=l+8|0;c[k>>2]=(c[k>>2]|0)-d;i=e;return l+16+m|0}function Mi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0;f=i;e=c[a+4>>2]|0;if(d>>>0>999999984){c[(c[a>>2]|0)+20>>2]=56;c[(c[a>>2]|0)+24>>2]=3;qd[c[c[a>>2]>>2]&255](a)}g=d&7;if((g|0)!=0)d=8-g+d|0;if((b|0)<0|(b|0)>1){c[(c[a>>2]|0)+20>>2]=15;c[(c[a>>2]|0)+24>>2]=b;qd[c[c[a>>2]>>2]&255](a)}h=d+16|0;g=Ts(h)|0;if((g|0)==0){c[(c[a>>2]|0)+20>>2]=56;c[(c[a>>2]|0)+24>>2]=4;qd[c[c[a>>2]>>2]&255](a)}a=e+76|0;c[a>>2]=(c[a>>2]|0)+h;h=e+(b<<2)+60|0;c[g>>2]=c[h>>2];c[g+4>>2]=d;c[g+8>>2]=0;c[h>>2]=g;i=f;return g+16|0}function Ni(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;g=c[a+4>>2]|0;h=999999984/(d>>>0)|0;if((h|0)==0){c[(c[a>>2]|0)+20>>2]=72;qd[c[c[a>>2]>>2]&255](a)}h=(h|0)<(e|0)?h:e;c[g+80>>2]=h;g=Li(a,b,e<<2)|0;j=0;a:while(1){if(!(j>>>0<e>>>0))break;l=e-j|0;h=h>>>0<l>>>0?h:l;l=h;k=Mi(a,b,da(h,d)|0)|0;while(1){if((l|0)==0)continue a;c[g+(j<<2)>>2]=k;j=j+1|0;l=l+ -1|0;k=k+d|0}}i=f;return g|0}function Oi(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0;f=i;g=c[a+4>>2]|0;h=999999984/(d<<7>>>0)|0;if((h|0)==0){c[(c[a>>2]|0)+20>>2]=72;qd[c[c[a>>2]>>2]&255](a)}h=(h|0)<(e|0)?h:e;c[g+80>>2]=h;g=Li(a,b,e<<2)|0;j=0;a:while(1){if(!(j>>>0<e>>>0))break;l=e-j|0;h=h>>>0<l>>>0?h:l;l=h;k=Mi(a,b,(da(h,d)|0)<<7)|0;while(1){if((l|0)==0)continue a;c[g+(j<<2)>>2]=k;j=j+1|0;l=l+ -1|0;k=k+(d<<7)|0}}i=f;return g|0}function Pi(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;j=c[a+4>>2]|0;if((b|0)!=1){c[(c[a>>2]|0)+20>>2]=15;c[(c[a>>2]|0)+24>>2]=b;qd[c[c[a>>2]>>2]&255](a)}b=Li(a,b,128)|0;c[b>>2]=0;c[b+4>>2]=f;c[b+8>>2]=e;c[b+12>>2]=g;c[b+32>>2]=d;c[b+40>>2]=0;d=j+68|0;c[b+44>>2]=c[d>>2];c[d>>2]=b;i=h;return b|0}function Qi(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0;h=i;j=c[a+4>>2]|0;if((b|0)!=1){c[(c[a>>2]|0)+20>>2]=15;c[(c[a>>2]|0)+24>>2]=b;qd[c[c[a>>2]>>2]&255](a)}b=Li(a,b,128)|0;c[b>>2]=0;c[b+4>>2]=f;c[b+8>>2]=e;c[b+12>>2]=g;c[b+32>>2]=d;c[b+40>>2]=0;d=j+72|0;c[b+44>>2]=c[d>>2];c[d>>2]=b;i=h;return b|0}function Ri(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0;b=i;f=c[a+4>>2]|0;e=c[f+68>>2]|0;g=0;h=0;d=e;while(1){if((d|0)==0)break;if((c[d>>2]|0)==0){j=c[d+8>>2]|0;h=h+(da(c[d+12>>2]|0,j)|0)|0;g=g+(da(c[d+4>>2]|0,j)|0)|0}d=c[d+44>>2]|0}d=f+72|0;j=d;while(1){j=c[j>>2]|0;if((j|0)==0)break;if((c[j>>2]|0)==0){k=c[j+8>>2]|0;h=h+((da(c[j+12>>2]|0,k)|0)<<7)|0;g=g+((da(c[j+4>>2]|0,k)|0)<<7)|0}j=j+44|0}if((h|0)<1){i=b;return}f=f+80|0;while(1){if((e|0)==0)break;if((c[e>>2]|0)==0){h=c[e+4>>2]|0;g=c[e+12>>2]|0;if(((((h+ -1|0)>>>0)/(g>>>0)|0)+1|0)>1e9){h=e+16|0;c[h>>2]=da(g,1e9)|0;c[(c[a>>2]|0)+20>>2]=51;qd[c[c[a>>2]>>2]&255](a);c[e+40>>2]=1;h=c[h>>2]|0}else c[e+16>>2]=h;c[e>>2]=Ni(a,1,c[e+8>>2]|0,h)|0;c[e+20>>2]=c[f>>2];c[e+24>>2]=0;c[e+28>>2]=0;c[e+36>>2]=0}e=c[e+44>>2]|0}while(1){d=c[d>>2]|0;if((d|0)==0)break;if((c[d>>2]|0)==0){g=c[d+4>>2]|0;e=c[d+12>>2]|0;if(((((g+ -1|0)>>>0)/(e>>>0)|0)+1|0)>1e9){g=d+16|0;c[g>>2]=da(e,1e9)|0;c[(c[a>>2]|0)+20>>2]=51;qd[c[c[a>>2]>>2]&255](a);c[d+40>>2]=1;g=c[g>>2]|0}else c[d+16>>2]=g;c[d>>2]=Oi(a,1,c[d+8>>2]|0,g)|0;c[d+20>>2]=c[f>>2];c[d+24>>2]=0;c[d+28>>2]=0;c[d+36>>2]=0}d=d+44|0}i=b;return}function Si(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;h=d+e|0;if(!((!(h>>>0>(c[b+4>>2]|0)>>>0)?!((c[b+12>>2]|0)>>>0<e>>>0):0)?(c[b>>2]|0)!=0:0)){c[(c[a>>2]|0)+20>>2]=23;qd[c[c[a>>2]>>2]&255](a)}e=b+24|0;m=c[e>>2]|0;if(!(!(m>>>0>d>>>0)?!(h>>>0>(m+(c[b+16>>2]|0)|0)>>>0):0)){if((c[b+40>>2]|0)==0){c[(c[a>>2]|0)+20>>2]=71;qd[c[c[a>>2]>>2]&255](a)}k=b+36|0;if((c[k>>2]|0)!=0){Xi(a,b,1);c[k>>2]=0}if((c[e>>2]|0)>>>0<d>>>0)k=d;else{k=h-(c[b+16>>2]|0)|0;k=(k|0)<0?0:k}c[e>>2]=k;Xi(a,b,0)}l=b+28|0;k=c[l>>2]|0;a:do if(k>>>0<h>>>0){do if(k>>>0<d>>>0)if((f|0)==0){k=d;m=(f|0)==0;break}else{c[(c[a>>2]|0)+20>>2]=23;qd[c[c[a>>2]>>2]&255](a);k=d;j=19;break}else j=19;while(0);if((j|0)==19){m=(f|0)==0;if(!m)c[l>>2]=h}if((c[b+32>>2]|0)==0){if(!m)break;c[(c[a>>2]|0)+20>>2]=23;qd[c[c[a>>2]>>2]&255](a);j=27;break}a=c[b+8>>2]|0;j=c[e>>2]|0;h=h-j|0;j=k-j|0;while(1){if(!(j>>>0<h>>>0)){j=27;break a}st(c[(c[b>>2]|0)+(j<<2)>>2]|0,0,a|0)|0;j=j+1|0}}else j=27;while(0);if((j|0)==27?(f|0)==0:0){l=c[b>>2]|0;m=c[e>>2]|0;m=d-m|0;m=l+(m<<2)|0;i=g;return m|0}c[b+36>>2]=1;l=c[b>>2]|0;m=c[e>>2]|0;m=d-m|0;m=l+(m<<2)|0;i=g;return m|0}function Ti(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;g=i;h=d+e|0;if(!((!(h>>>0>(c[b+4>>2]|0)>>>0)?!((c[b+12>>2]|0)>>>0<e>>>0):0)?(c[b>>2]|0)!=0:0)){c[(c[a>>2]|0)+20>>2]=23;qd[c[c[a>>2]>>2]&255](a)}e=b+24|0;m=c[e>>2]|0;if(!(!(m>>>0>d>>>0)?!(h>>>0>(m+(c[b+16>>2]|0)|0)>>>0):0)){if((c[b+40>>2]|0)==0){c[(c[a>>2]|0)+20>>2]=71;qd[c[c[a>>2]>>2]&255](a)}k=b+36|0;if((c[k>>2]|0)!=0){Wi(a,b,1);c[k>>2]=0}if((c[e>>2]|0)>>>0<d>>>0)k=d;else{k=h-(c[b+16>>2]|0)|0;k=(k|0)<0?0:k}c[e>>2]=k;Wi(a,b,0)}l=b+28|0;k=c[l>>2]|0;a:do if(k>>>0<h>>>0){do if(k>>>0<d>>>0)if((f|0)==0){k=d;m=(f|0)==0;break}else{c[(c[a>>2]|0)+20>>2]=23;qd[c[c[a>>2]>>2]&255](a);k=d;j=19;break}else j=19;while(0);if((j|0)==19){m=(f|0)==0;if(!m)c[l>>2]=h}if((c[b+32>>2]|0)==0){if(!m)break;c[(c[a>>2]|0)+20>>2]=23;qd[c[c[a>>2]>>2]&255](a);j=27;break}a=c[b+8>>2]<<7;j=c[e>>2]|0;h=h-j|0;j=k-j|0;while(1){if(!(j>>>0<h>>>0)){j=27;break a}st(c[(c[b>>2]|0)+(j<<2)>>2]|0,0,a|0)|0;j=j+1|0}}else j=27;while(0);if((j|0)==27?(f|0)==0:0){l=c[b>>2]|0;m=c[e>>2]|0;m=d-m|0;m=l+(m<<2)|0;i=g;return m|0}c[b+36>>2]=1;l=c[b>>2]|0;m=c[e>>2]|0;m=d-m|0;m=l+(m<<2)|0;i=g;return m|0}function Ui(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;d=i;e=c[a+4>>2]|0;if((b|0)<0|(b|0)>1){c[(c[a>>2]|0)+20>>2]=15;c[(c[a>>2]|0)+24>>2]=b;qd[c[c[a>>2]>>2]&255](a)}if((b|0)==1){f=e+68|0;g=f;while(1){g=c[g>>2]|0;if((g|0)==0)break;h=g+40|0;if((c[h>>2]|0)!=0){c[h>>2]=0;rd[c[g+56>>2]&127](a,g+48|0)}g=g+44|0}c[f>>2]=0;f=e+72|0;g=f;while(1){g=c[g>>2]|0;if((g|0)==0)break;h=g+40|0;if((c[h>>2]|0)!=0){c[h>>2]=0;rd[c[g+56>>2]&127](a,g+48|0)}g=g+44|0}c[f>>2]=0}a=e+(b<<2)+60|0;f=c[a>>2]|0;c[a>>2]=0;a=e+76|0;while(1){if((f|0)==0)break;h=c[f>>2]|0;g=(c[f+4>>2]|0)+(c[f+8>>2]|0)+16|0;Us(f);c[a>>2]=(c[a>>2]|0)-g;f=h}h=e+(b<<2)+52|0;e=c[h>>2]|0;c[h>>2]=0;while(1){if((e|0)==0)break;h=c[e>>2]|0;g=(c[e+4>>2]|0)+(c[e+8>>2]|0)+16|0;Us(e);c[a>>2]=(c[a>>2]|0)-g;e=h}i=d;return}function Vi(a){a=a|0;var b=0,d=0;b=i;d=1;while(1){if(!((d|0)>-1))break;Ui(a,d);d=d+ -1|0}d=a+4|0;Us(c[d>>2]|0);c[d>>2]=0;i=b;return}function Wi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=i;h=c[b+8>>2]<<7;l=b+24|0;g=b+16|0;k=b+20|0;j=b+28|0;f=b+4|0;m=(d|0)==0;d=b+48|0;n=b+48|0;q=b+52|0;o=da(c[l>>2]|0,h)|0;p=0;while(1){r=c[g>>2]|0;if((p|0)>=(r|0)){f=8;break}s=c[k>>2]|0;t=r-p|0;t=(s|0)<(t|0)?s:t;r=(c[l>>2]|0)+p|0;s=(c[j>>2]|0)-r|0;s=(t|0)<(s|0)?t:s;r=(c[f>>2]|0)-r|0;r=(s|0)<(r|0)?s:r;if((r|0)<1){f=8;break}r=da(r,h)|0;if(m)od[c[d>>2]&127](a,n,c[(c[b>>2]|0)+(p<<2)>>2]|0,o,r);else od[c[q>>2]&127](a,n,c[(c[b>>2]|0)+(p<<2)>>2]|0,o,r);o=o+r|0;p=p+(c[k>>2]|0)|0}if((f|0)==8){i=e;return}}function Xi(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;e=i;h=c[b+8>>2]|0;l=b+24|0;g=b+16|0;k=b+20|0;j=b+28|0;f=b+4|0;m=(d|0)==0;d=b+48|0;n=b+48|0;q=b+52|0;o=da(c[l>>2]|0,h)|0;p=0;while(1){r=c[g>>2]|0;if((p|0)>=(r|0)){f=8;break}s=c[k>>2]|0;t=r-p|0;t=(s|0)<(t|0)?s:t;r=(c[l>>2]|0)+p|0;s=(c[j>>2]|0)-r|0;s=(t|0)<(s|0)?t:s;r=(c[f>>2]|0)-r|0;r=(s|0)<(r|0)?s:r;if((r|0)<1){f=8;break}r=da(r,h)|0;if(m)od[c[d>>2]&127](a,n,c[(c[b>>2]|0)+(p<<2)>>2]|0,o,r);else od[c[q>>2]&127](a,n,c[(c[b>>2]|0)+(p<<2)>>2]|0,o,r);o=o+r|0;p=p+(c[k>>2]|0)|0}if((f|0)==8){i=e;return}}function Yi(a,b){a=a|0;b=b|0;var d=0;d=i;b=c[b+672>>2]|0;c[a>>2]=b;Zb(b|0);i=d;return}function Zi(a,b){a=a|0;b=b|0;var d=0;d=i;Zb(c[b>>2]|0);a=a+672|0;zb(c[a>>2]|0);c[a>>2]=c[b>>2];i=d;return}function _i(a,b,d){a=a|0;b=b|0;d=d|0;c[a+636>>2]=b;c[a+640>>2]=d;return}function $i(a){a=a|0;return c[a+644>>2]|0}function aj(a){a=a|0;return c[a+648>>2]|0}function bj(b,d){b=b|0;d=d|0;var e=0;e=i;d=c[d+180>>2]|0;if((d|0)==4){a[b>>0]=8;d=b+1|0;a[d>>0]=99;a[d+1>>0]=109;a[d+2>>0]=121;a[d+3>>0]=107;a[b+5>>0]=0;i=e;return}else if((d|0)==1){a[b>>0]=8;d=b+1|0;a[d>>0]=103;a[d+1>>0]=114;a[d+2>>0]=97;a[d+3>>0]=121;a[b+5>>0]=0;i=e;return}else if((d|0)==2){a[b>>0]=6;d=b+1|0;a[d+0>>0]=a[10592]|0;a[d+1>>0]=a[10593]|0;a[d+2>>0]=a[10594]|0;a[b+4>>0]=0;i=e;return}else{a[b>>0]=6;d=b+1|0;a[d+0>>0]=a[10592]|0;a[d+1>>0]=a[10593]|0;a[d+2>>0]=a[10594]|0;a[b+4>>0]=0;i=e;return}}function cj(b,e){b=b|0;e=e|0;var f=0,g=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;f=i;i=i+32|0;g=f;l=f+24|0;n=a[e>>0]|0;if((n&1)==0){o=(n&255)>>>1;p=e+1|0}else{o=c[e+4>>2]|0;p=c[e+8>>2]|0}q=b+660|0;r=b+664|0;s=c[r>>2]|0;w=c[q>>2]|0;v=s;t=v-w|0;e=b+136|0;n=b+160|0;u=c[(c[n>>2]|0)+4>>2]|0;if((t|0)!=(u|0)){u=w+(t-u)|0;s=v-u|0;rt(w|0,u|0,s|0)|0;s=w+s|0;if((c[r>>2]|0)!=(s|0))c[r>>2]=s}ij(l,q,s,p,p+o|0);l=c[n>>2]|0;w=l+4|0;c[w>>2]=(c[w>>2]|0)+o;c[l>>2]=c[q>>2];l=b+656|0;o=c[l>>2]|0;if((o|0)!=0){v=c[n>>2]|0;u=v+4|0;t=c[u>>2]|0;w=(t|0)<(o|0)?t:o;c[u>>2]=t-w;c[v>>2]=(c[v>>2]|0)+w;w=o-w|0;c[l>>2]=(w|0)<0?0:w}l=b+624|0;switch(c[l>>2]|0){case 2:{o=b+252|0;k=83;break};case 0:{o=c[b+156>>2]|0;n=b+156|0;a:do if((o|0)==201)k=13;else if((o|0)==200)k=14;else{c[(c[e>>2]|0)+20>>2]=21;c[(c[e>>2]|0)+24>>2]=c[n>>2];qd[c[c[e>>2]>>2]&255](e);switch(c[n>>2]|0){case 201:{k=13;break a};case 200:{k=14;break a};case 210:case 208:case 207:case 206:case 205:case 204:case 203:{o=ud[c[c[b+596>>2]>>2]&127](e)|0;k=51;break a};case 202:break a;default:{}}c[(c[e>>2]|0)+20>>2]=21;c[(c[e>>2]|0)+24>>2]=c[n>>2];qd[c[c[e>>2]>>2]&255](e);w=0;i=f;return w|0}while(0);if((k|0)==13){o=b+596|0;k=15}else if((k|0)==14){o=b+596|0;qd[c[(c[o>>2]|0)+4>>2]&255](e);qd[c[(c[b+160>>2]|0)+8>>2]&255](e);c[n>>2]=201;k=15}if((k|0)==15){o=ud[c[c[o>>2]>>2]&127](e)|0;if((o|0)==1){o=c[b+172>>2]|0;if((o|0)==3){q=c[b+352>>2]|0;o=c[q>>2]|0;p=c[q+88>>2]|0;q=c[q+176>>2]|0;do if((o|0)==1){if((p|0)==2){if((q|0)!=3){k=31;break}c[b+176>>2]=3;break}else if((p|0)==34?(q|0)==35:0){c[b+176>>2]=7;break}if((o|0)==114)k=29;else if((o|0)==82)k=25;else k=31}else if((o|0)==114)k=29;else if((o|0)==82)k=25;else k=31;while(0);do if((k|0)==25)if((p|0)==71)if((q|0)!=66)if((o|0)==114&(p|0)==103&(q|0)==98){k=30;break}else{k=31;break}else{c[b+176>>2]=2;break}else k=31;else if((k|0)==29)if((p|0)==103&(q|0)==98)k=30;else k=31;while(0);do if((k|0)==30)c[b+176>>2]=6;else if((k|0)==31){if((c[b+420>>2]|0)!=0){c[b+176>>2]=3;break}if((c[b+432>>2]|0)==0){w=c[e>>2]|0;c[w+24>>2]=o;c[w+28>>2]=p;c[w+32>>2]=q;c[(c[e>>2]|0)+20>>2]=113;rd[c[(c[e>>2]|0)+4>>2]&127](e,1);c[b+176>>2]=3;break}p=b+436|0;o=d[p>>0]|0;if((o|0)==0){c[b+176>>2]=2;break}else if((o|0)==1){c[b+176>>2]=3;break}else{c[(c[e>>2]|0)+20>>2]=116;c[(c[e>>2]|0)+24>>2]=d[p>>0];rd[c[(c[e>>2]|0)+4>>2]&127](e,-1);c[b+176>>2]=3;break}}while(0);c[b+180>>2]=2}else if((o|0)==1){c[b+176>>2]=1;c[b+180>>2]=1}else if((o|0)==4){do if((c[b+432>>2]|0)!=0){o=b+436|0;p=d[o>>0]|0;if((p|0)==0){c[b+176>>2]=4;break}else if((p|0)==2){c[b+176>>2]=5;break}else{c[(c[e>>2]|0)+20>>2]=116;c[(c[e>>2]|0)+24>>2]=d[o>>0];rd[c[(c[e>>2]|0)+4>>2]&127](e,-1);c[b+176>>2]=5;break}}else c[b+176>>2]=4;while(0);c[b+180>>2]=4}else{c[b+176>>2]=0;c[b+180>>2]=0}w=c[b+564>>2]|0;c[b+184>>2]=w;c[b+188>>2]=w;h[b+192>>3]=1.0;c[b+200>>2]=0;c[b+204>>2]=0;c[b+208>>2]=0;c[b+212>>2]=1;c[b+216>>2]=1;c[b+220>>2]=0;c[b+224>>2]=2;c[b+228>>2]=1;c[b+232>>2]=256;c[b+272>>2]=0;c[b+236>>2]=0;c[b+240>>2]=0;c[b+244>>2]=0;c[n>>2]=202}else k=51}do if((k|0)==51){if((o|0)==0){w=0;i=f;return w|0}else if((o|0)!=2)break;c[(c[e>>2]|0)+20>>2]=53;qd[c[c[e>>2]>>2]&255](e);if((c[b+140>>2]|0)!=0){n=b+140|0;k=1;while(1){if((k|0)<=0)break;rd[c[(c[n>>2]|0)+36>>2]&127](e,k);k=k+ -1|0}k=b+156|0;if((c[b+152>>2]|0)==0){c[k>>2]=100;break}else{c[k>>2]=200;c[b+448>>2]=0;break}}}while(0);c[b+628>>2]=c[b+164>>2];c[b+632>>2]=c[b+168>>2];k=Ts(13)|0;c[k>>2]=9;n=k+4|0;o=9776;p=n+9|0;do{a[n>>0]=a[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));c[g>>2]=k;zb(Lb(c[b+672>>2]|0,1,10008,g|0)|0);c[l>>2]=1;k=60;break};case 3:break;case 4:{w=0;i=f;return w|0};case 1:{k=60;break};default:{w=1;i=f;return w|0}}do if((k|0)==60){switch(c[b+176>>2]|0){case 5:case 4:{c[b+180>>2]=4;break};case 2:case 3:{c[b+180>>2]=2;break};case 1:{c[b+180>>2]=1;break};default:{k=Ts(32)|0;b:do if((k|0)==0){while(1){e=c[6272]|0;c[6272]=e+0;if((e|0)==0)break;yd[e&31]();k=Ts(32)|0;if((k|0)!=0)break b}w=_b(4)|0;c[w>>2]=24928;ed(w|0,24976,117)}while(0);n=k+0|0;o=9792;p=n+24|0;do{a[n>>0]=a[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));a[k+24>>0]=0;e=Ts(9)|0;c[e>>2]=5;j=e+4|0;a[j+0>>0]=a[10344]|0;a[j+1>>0]=a[10345]|0;a[j+2>>0]=a[10346]|0;a[j+3>>0]=a[10347]|0;a[j+4>>0]=a[10348]|0;c[g>>2]=e;e=g+8|0;j=Ts(28)|0;c[j>>2]=24;n=j+4|0;o=k+0|0;p=n+24|0;do{a[n>>0]=a[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));c[e>>2]=j;zb(Lb(c[b+672>>2]|0,2,1e4,g|0)|0);Us(k);w=0;i=f;return w|0}}k=c[b+636>>2]|0;if((k|0)!=0?(m=c[b+640>>2]|0,(m|0)!=0):0){w=(c[b+628>>2]|0)/(k|0)|0;v=(c[b+632>>2]|0)/(m|0)|0;c[b+184>>2]=1;w=(v|0)<(w|0)?v:w;w=(w|0)>8?8:w;c[b+188>>2]=(w|0)>1?w:1}Fg(e);m=b+248|0;c[b+644>>2]=c[m>>2];k=b+252|0;c[b+648>>2]=c[k>>2];q=Ts(14)|0;c[q>>2]=10;n=q+4|0;o=9824;p=n+10|0;do{a[n>>0]=a[o>>0]|0;n=n+1|0;o=o+1|0}while((n|0)<(p|0));c[g>>2]=q;o=b+672|0;zb(Lb(c[o>>2]|0,1,10008,g|0)|0);q=c[b+448>>2]|0;if((q|0)!=0){p=g+8|0;n=g+16|0;do{c:do if((a[q+4>>0]|0)==-31?(j=c[q+12>>2]|0,j>>>0>13):0){r=c[q+16>>2]|0;s=r;u=5;t=9840;while(1){if((a[s>>0]|0)!=(a[t>>0]|0))break c;u=u+ -1|0;if((u|0)==0)break;else{s=s+1|0;t=t+1|0}}w=Ts(8)|0;c[w>>2]=4;v=w+4|0;a[v>>0]=101;a[v+1>>0]=120;a[v+2>>0]=105;a[v+3>>0]=102;c[g>>2]=w;c[p>>2]=r;c[n>>2]=j;zb(Lb(c[o>>2]|0,3,9848,g|0)|0)}while(0);q=c[q>>2]|0}while((q|0)!=0)}if((qf(e)|0)==0){w=0;i=f;return w|0}else{c[b+652>>2]=Ts(da(c[b+260>>2]|0,c[m>>2]|0)|0)|0;c[l>>2]=2;o=k;k=83;break}}while(0);if((k|0)==83){p=b+276|0;d:do if((c[p>>2]|0)>>>0<(c[o>>2]|0)>>>0){n=b+652|0;s=b+248|0;r=b+260|0;j=g+8|0;q=g+16|0;m=b+672|0;while(1){if((rf(e,n,1)|0)!=1){b=0;break}v=c[n>>2]|0;w=da(c[r>>2]|0,c[s>>2]|0)|0;u=Ts(12)|0;c[u>>2]=8;t=u+4|0;x=t;a[x>>0]=115;a[x+1>>0]=99;a[x+2>>0]=97;a[x+3>>0]=110;t=t+4|0;a[t>>0]=108;a[t+1>>0]=105;a[t+2>>0]=110;a[t+3>>0]=101;c[g>>2]=u;c[j>>2]=v;c[q>>2]=w;zb(Lb(c[m>>2]|0,3,9848,g|0)|0);if(!((c[p>>2]|0)>>>0<(c[o>>2]|0)>>>0))break d}i=f;return b|0}else m=b+672|0;while(0);x=Ts(7)|0;c[x>>2]=3;w=x+4|0;a[w+0>>0]=a[10336]|0;a[w+1>>0]=a[10337]|0;a[w+2>>0]=a[10338]|0;c[g>>2]=x;zb(Lb(c[m>>2]|0,1,10008,g|0)|0);c[l>>2]=3}j=c[b+156>>2]|0;do if((j|0)!=205?(j|0)!=206:0){g=b+156|0;if((j|0)!=207)if((j|0)==210)break;else{k=99;break}else{c[g>>2]=210;break}}else k=91;while(0);do if((k|0)==91){if((c[b+200>>2]|0)!=0){g=b+156|0;k=99;break}if((c[b+276>>2]|0)>>>0<(c[b+252>>2]|0)>>>0){c[(c[e>>2]|0)+20>>2]=69;qd[c[c[e>>2]>>2]&255](e)}qd[c[(c[b+580>>2]|0)+4>>2]&255](e);c[b+156>>2]=210}while(0);if((k|0)==99){c[(c[e>>2]|0)+20>>2]=21;c[(c[e>>2]|0)+24>>2]=c[g>>2];qd[c[c[e>>2]>>2]&255](e)}g=b+596|0;while(1){j=c[g>>2]|0;if((c[j+20>>2]|0)!=0)break;if((ud[c[j>>2]&127](e)|0)==0){b=0;k=111;break}}if((k|0)==111){i=f;return b|0}qd[c[(c[b+160>>2]|0)+24>>2]&255](e);if((c[b+140>>2]|0)==0){x=1;i=f;return x|0}g=b+140|0;j=1;while(1){if((j|0)<=0)break;rd[c[(c[g>>2]|0)+36>>2]&127](e,j);j=j+ -1|0}g=b+156|0;if((c[b+152>>2]|0)==0){c[g>>2]=100;x=1;i=f;return x|0}else{c[g>>2]=200;c[b+448>>2]=0;x=1;i=f;return x|0}return 0}function dj(a){a=a|0;return}function ej(a){a=a|0;return}function fj(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;a=c[a+12>>2]|0;e=c[a+160>>2]|0;f=e+4|0;g=c[f>>2]|0;d=(g|0)<(b|0)?g:b;c[f>>2]=g-d;c[e>>2]=(c[e>>2]|0)+d;b=b-d|0;c[a+656>>2]=(b|0)<0?0:b;return}function gj(a){a=a|0;return 0}function hj(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0;d=i;i=i+240|0;f=d;e=d+16|0;g=d+32|0;rd[c[(c[b>>2]|0)+12>>2]&127](b,g);b=c[b+12>>2]|0;c[b+624>>2]=4;h=ot(g|0)|0;if(h>>>0>4294967279)Hk();if(h>>>0<11){j=h<<1&255;a[e>>0]=j;l=e+1|0}else{j=h+16&-16;k=(j|0)==0?1:j;l=Ts(k)|0;a:do if((l|0)==0){while(1){l=c[6272]|0;c[6272]=l+0;if((l|0)==0)break;yd[l&31]();l=Ts(k)|0;if((l|0)!=0)break a}l=_b(4)|0;c[l>>2]=24928;ed(l|0,24976,117)}while(0);c[e+8>>2]=l;j=j|1;c[e>>2]=j;c[e+4>>2]=h;j=j&255}pt(l|0,g|0,h|0)|0;a[l+h>>0]=0;g=Ts(9)|0;c[g>>2]=5;l=g+4|0;a[l+0>>0]=a[10344]|0;a[l+1>>0]=a[10345]|0;a[l+2>>0]=a[10346]|0;a[l+3>>0]=a[10347]|0;a[l+4>>0]=a[10348]|0;c[f>>2]=g;g=(j&1)==0;if(g){k=(j&255)>>>1;j=Ts(k+4|0)|0;c[j>>2]=k;h=e+1|0}else{k=c[e+4>>2]|0;j=Ts(k+4|0)|0;c[j>>2]=k;h=c[e+8>>2]|0}pt(j+4|0,h|0,k|0)|0;c[f+8>>2]=j;zb(Lb(c[b+672>>2]|0,2,1e4,f|0)|0);if(g){i=d;return}Us(c[e+8>>2]|0);i=d;return}function ij(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;h=i;m=c[d>>2]|0;r=m;k=e-r|0;j=m+k|0;o=f;q=g-o|0;if((q|0)<=0){t=j;c[b>>2]=t;i=h;return}n=d+8|0;e=d+4|0;l=c[e>>2]|0;s=c[n>>2]|0;t=l;if((q|0)<=(s-t|0)){p=t-j|0;if((q|0)>(p|0)){n=f+p|0;if((n|0)==(g|0))d=l;else{d=l;r=n;do{if((d|0)==0)d=0;else{a[d>>0]=a[r>>0]|0;d=c[e>>2]|0}d=d+1|0;c[e>>2]=d;r=r+1|0}while((r|0)!=(g|0));g=n}}else{d=l;p=q}if((p|0)<=0){t=j;c[b>>2]=t;i=h;return}n=d-(m+(k+q))|0;m=m+(n+k)|0;if(m>>>0<l>>>0){k=d;do{if((k|0)==0)k=0;else{a[k>>0]=a[m>>0]|0;k=c[e>>2]|0}m=m+1|0;k=k+1|0;c[e>>2]=k}while((m|0)!=(l|0))}rt(d+(0-n)|0,j|0,n|0)|0;rt(j|0,f|0,g-o|0)|0;t=j;c[b>>2]=t;i=h;return}o=t-r+q|0;if((o|0)<0)Pp();q=s-r|0;if(q>>>0<1073741823){r=q<<1;r=r>>>0<o>>>0?o:r;q=j;if((r|0)==0){o=0;r=0}else p=19}else{r=2147483647;q=j;p=19}a:do if((p|0)==19){p=(r|0)==0?1:r;o=Ts(p)|0;if((o|0)==0){while(1){o=c[6272]|0;c[6272]=o+0;if((o|0)==0)break;yd[o&31]();o=Ts(p)|0;if((o|0)!=0)break a}t=_b(4)|0;c[t>>2]=24928;ed(t|0,24976,117)}}while(0);p=o+k|0;r=o+r|0;if((f|0)==(g|0))s=p;else{s=p;do{if((s|0)==0)s=0;else a[s>>0]=a[f>>0]|0;s=s+1|0;f=f+1|0}while((f|0)!=(g|0));m=c[d>>2]|0;l=c[e>>2]|0}t=q-m|0;o=o+(k-t)|0;pt(o|0,m|0,t|0)|0;t=l-q|0;pt(s|0,j|0,t|0)|0;j=c[d>>2]|0;c[d>>2]=o;c[e>>2]=s+t;c[n>>2]=r;if((j|0)==0){t=p;c[b>>2]=t;i=h;return}Us(j);t=p;c[b>>2]=t;i=h;return}function jj(a){a=a|0;Oa(a|0)|0;gs()}function kj(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;h=i;i=i+16|0;g=h;j=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;m=b+4|0;m=d[m>>0]|d[m+1>>0]<<8|d[m+2>>0]<<16|d[m+3>>0]<<24;b=e+(m>>1)|0;if((m&1|0)!=0)j=c[(c[b>>2]|0)+j>>2]|0;e=f+4|0;f=c[f>>2]|0;if(f>>>0>4294967279)Hk();if(f>>>0<11){a[g>>0]=f<<1;m=g+1|0}else{k=f+16&-16;l=(k|0)==0?1:k;m=Ts(l)|0;a:do if((m|0)==0){while(1){m=c[6272]|0;c[6272]=m+0;if((m|0)==0)break;yd[m&31]();m=Ts(l)|0;if((m|0)!=0)break a}m=_b(4)|0;c[m>>2]=24928;ed(m|0,24976,117)}while(0);c[g+8>>2]=m;c[g>>2]=k|1;c[g+4>>2]=f}pt(m|0,e|0,f|0)|0;a[m+f>>0]=0;b=Dd[j&127](b,g)|0;if((a[g>>0]&1)==0){i=h;return b|0}Us(c[g+8>>2]|0);i=h;return b|0}function lj(b,e){b=b|0;e=e|0;var f=0,g=0,h=0;g=i;i=i+16|0;f=g;h=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;b=b+4|0;b=d[b>>0]|d[b+1>>0]<<8|d[b+2>>0]<<16|d[b+3>>0]<<24;e=e+(b>>1)|0;if((b&1|0)!=0)h=c[(c[e>>2]|0)+h>>2]|0;rd[h&127](f,e);h=a[f>>0]|0;if((h&1)==0){e=(h&255)>>>1;b=Ts(e+4|0)|0;c[b>>2]=e;pt(b+4|0,f+1|0,e|0)|0;i=g;return b|0}else{h=c[f+4>>2]|0;b=Ts(h+4|0)|0;c[b>>2]=h;e=f+8|0;pt(b+4|0,c[e>>2]|0,h|0)|0;Us(c[e>>2]|0);i=g;return b|0}return 0}function mj(a,b){a=a|0;b=b|0;var e=0,f=0;e=i;f=d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24;a=a+4|0;a=d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24;b=b+(a>>1)|0;if((a&1|0)==0){a=f;a=ud[a&127](b)|0;i=e;return a|0}else{a=c[(c[b>>2]|0)+f>>2]|0;a=ud[a&127](b)|0;i=e;return a|0}return 0}function nj(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0;g=i;h=d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24;a=a+4|0;a=d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24;b=b+(a>>1)|0;if((a&1|0)==0){a=h;wd[a&127](b,e,f);i=g;return}else{a=c[(c[b>>2]|0)+h>>2]|0;wd[a&127](b,e,f);i=g;return}}function oj(a,b){a=a|0;b=b|0;var e=0,f=0,g=0;e=i;i=i+16|0;f=e;g=d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24;a=a+4|0;a=d[a>>0]|d[a+1>>0]<<8|d[a+2>>0]<<16|d[a+3>>0]<<24;b=b+(a>>1)|0;if((a&1|0)!=0)g=c[(c[b>>2]|0)+g>>2]|0;rd[g&127](f,b);Zb(c[f>>2]|0);a=c[f>>2]|0;zb(a|0);i=e;return a|0}
function Eg(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;g=i;k=c[a+24>>2]|0;m=c[k>>2]|0;j=k+4|0;n=c[j>>2]|0;c[a+220>>2]=b;c[a+224>>2]=e;c[a+228>>2]=f;do if((n|0)==0)if((ud[c[k+12>>2]&127](a)|0)==0){s=0;i=g;return s|0}else{n=c[j>>2]|0;m=c[k>>2]|0;break}while(0);f=n+ -1|0;n=m+1|0;m=(d[m>>0]|0)<<8;do if((f|0)==0)if((ud[c[k+12>>2]&127](a)|0)==0){s=0;i=g;return s|0}else{f=c[j>>2]|0;n=c[k>>2]|0;break}while(0);e=f+ -1|0;f=n+1|0;n=m|(d[n>>0]|0);do if((e|0)==0)if((ud[c[k+12>>2]&127](a)|0)==0){s=0;i=g;return s|0}else{e=c[j>>2]|0;f=c[k>>2]|0;break}while(0);e=e+ -1|0;m=f+1|0;c[a+212>>2]=d[f>>0];do if((e|0)==0)if((ud[c[k+12>>2]&127](a)|0)==0){s=0;i=g;return s|0}else{e=c[j>>2]|0;m=c[k>>2]|0;break}while(0);b=e+ -1|0;e=m+1|0;m=(d[m>>0]|0)<<8;f=a+32|0;c[f>>2]=m;do if((b|0)==0)if((ud[c[k+12>>2]&127](a)|0)==0){s=0;i=g;return s|0}else{m=c[f>>2]|0;b=c[j>>2]|0;e=c[k>>2]|0;break}while(0);o=b+ -1|0;b=e+1|0;c[f>>2]=m+(d[e>>0]|0);do if((o|0)==0)if((ud[c[k+12>>2]&127](a)|0)==0){s=0;i=g;return s|0}else{o=c[j>>2]|0;m=c[k>>2]|0;break}else m=b;while(0);o=o+ -1|0;b=m+1|0;m=(d[m>>0]|0)<<8;e=a+28|0;c[e>>2]=m;do if((o|0)==0)if((ud[c[k+12>>2]&127](a)|0)==0){s=0;i=g;return s|0}else{m=c[e>>2]|0;o=c[j>>2]|0;p=c[k>>2]|0;break}else p=b;while(0);o=o+ -1|0;b=p+1|0;c[e>>2]=m+(d[p>>0]|0);do if((o|0)==0)if((ud[c[k+12>>2]&127](a)|0)==0){s=0;i=g;return s|0}else{o=c[j>>2]|0;b=c[k>>2]|0;break}while(0);m=a+36|0;c[m>>2]=d[b>>0];p=n+ -8|0;n=c[a>>2]|0;c[n+24>>2]=c[a+440>>2];c[n+28>>2]=c[e>>2];c[n+32>>2]=c[f>>2];c[n+36>>2]=c[m>>2];c[(c[a>>2]|0)+20>>2]=102;rd[c[(c[a>>2]|0)+4>>2]&127](a,1);n=a+464|0;if((c[(c[n>>2]|0)+16>>2]|0)!=0){c[(c[a>>2]|0)+20>>2]=61;qd[c[c[a>>2]>>2]&255](a)}if(!(((c[f>>2]|0)!=0?(c[e>>2]|0)!=0:0)?(l=c[m>>2]|0,(l|0)>=1):0)){c[(c[a>>2]|0)+20>>2]=33;qd[c[c[a>>2]>>2]&255](a);l=c[m>>2]|0}if((p|0)!=(l*3|0)){c[(c[a>>2]|0)+20>>2]=12;qd[c[c[a>>2]>>2]&255](a)}l=a+216|0;if((c[l>>2]|0)==0)c[l>>2]=md[c[c[a+4>>2]>>2]&63](a,1,(c[m>>2]|0)*88|0)|0;f=k+12|0;e=0;while(1){o=o+ -1|0;p=b+1|0;if((e|0)>=(c[m>>2]|0)){h=56;break}if((o|0)==0){if((ud[c[f>>2]&127](a)|0)==0){a=0;h=57;break}b=c[j>>2]|0;p=c[k>>2]|0}else b=o;o=b+ -1|0;b=p+1|0;s=d[p>>0]|0;q=c[l>>2]|0;r=0;p=q;while(1){if((r|0)>=(e|0))break;if((s|0)==(c[p>>2]|0)){h=43;break}r=r+1|0;p=p+88|0}if((h|0)==43){h=0;p=q;r=c[q>>2]|0;q=1;while(1){p=p+88|0;if((q|0)>=(e|0))break;s=c[p>>2]|0;r=(s|0)>(r|0)?s:r;q=q+1|0}s=r+1|0}c[p>>2]=s;c[p+4>>2]=e;if((o|0)==0){if((ud[c[f>>2]&127](a)|0)==0){a=0;h=57;break}o=c[j>>2]|0;b=c[k>>2]|0}o=o+ -1|0;s=d[b>>0]|0;q=p+8|0;c[q>>2]=s>>>4;r=p+12|0;c[r>>2]=s&15;if((o|0)==0){if((ud[c[f>>2]&127](a)|0)==0){a=0;h=57;break}o=c[j>>2]|0;b=c[k>>2]|0}else b=b+1|0;t=p+16|0;c[t>>2]=d[b>>0];s=c[a>>2]|0;c[s+24>>2]=c[p>>2];c[s+28>>2]=c[q>>2];c[s+32>>2]=c[r>>2];c[s+36>>2]=c[t>>2];c[(c[a>>2]|0)+20>>2]=103;rd[c[(c[a>>2]|0)+4>>2]&127](a,1);e=e+1|0}if((h|0)==56){c[(c[n>>2]|0)+16>>2]=1;c[k>>2]=p;c[j>>2]=o;t=1;i=g;return t|0}else if((h|0)==57){i=g;return a|0}return 0}function Fg(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;b=i;d=a+20|0;if((c[d>>2]|0)!=202){c[(c[a>>2]|0)+20>>2]=21;c[(c[a>>2]|0)+24>>2]=c[d>>2];qd[c[c[a>>2]>>2]&255](a)}d=a+428|0;f=c[d>>2]|0;g=da(c[a+48>>2]|0,f)|0;h=c[a+52>>2]|0;do if(g>>>0>h>>>0){if(!(g>>>0>h<<1>>>0)){c[a+112>>2]=((c[a+28>>2]<<1)+f+ -1|0)/(f|0)|0;c[a+116>>2]=((c[a+32>>2]<<1)+f+ -1|0)/(f|0)|0;c[a+324>>2]=2;c[a+328>>2]=2;break}if(!(g>>>0>(h*3|0)>>>0)){c[a+112>>2]=(((c[a+28>>2]|0)*3|0)+f+ -1|0)/(f|0)|0;c[a+116>>2]=(((c[a+32>>2]|0)*3|0)+f+ -1|0)/(f|0)|0;c[a+324>>2]=3;c[a+328>>2]=3;break}if(!(g>>>0>h<<2>>>0)){c[a+112>>2]=((c[a+28>>2]<<2)+f+ -1|0)/(f|0)|0;c[a+116>>2]=((c[a+32>>2]<<2)+f+ -1|0)/(f|0)|0;c[a+324>>2]=4;c[a+328>>2]=4;break}if(!(g>>>0>(h*5|0)>>>0)){c[a+112>>2]=(((c[a+28>>2]|0)*5|0)+f+ -1|0)/(f|0)|0;c[a+116>>2]=(((c[a+32>>2]|0)*5|0)+f+ -1|0)/(f|0)|0;c[a+324>>2]=5;c[a+328>>2]=5;break}if(!(g>>>0>(h*6|0)>>>0)){c[a+112>>2]=(((c[a+28>>2]|0)*6|0)+f+ -1|0)/(f|0)|0;c[a+116>>2]=(((c[a+32>>2]|0)*6|0)+f+ -1|0)/(f|0)|0;c[a+324>>2]=6;c[a+328>>2]=6;break}if(!(g>>>0>(h*7|0)>>>0)){c[a+112>>2]=(((c[a+28>>2]|0)*7|0)+f+ -1|0)/(f|0)|0;c[a+116>>2]=(((c[a+32>>2]|0)*7|0)+f+ -1|0)/(f|0)|0;c[a+324>>2]=7;c[a+328>>2]=7;break}if(!(g>>>0>h<<3>>>0)){c[a+112>>2]=((c[a+28>>2]<<3)+f+ -1|0)/(f|0)|0;c[a+116>>2]=((c[a+32>>2]<<3)+f+ -1|0)/(f|0)|0;c[a+324>>2]=8;c[a+328>>2]=8;break}if(!(g>>>0>(h*9|0)>>>0)){c[a+112>>2]=(((c[a+28>>2]|0)*9|0)+f+ -1|0)/(f|0)|0;c[a+116>>2]=(((c[a+32>>2]|0)*9|0)+f+ -1|0)/(f|0)|0;c[a+324>>2]=9;c[a+328>>2]=9;break}if(!(g>>>0>(h*10|0)>>>0)){c[a+112>>2]=(((c[a+28>>2]|0)*10|0)+f+ -1|0)/(f|0)|0;c[a+116>>2]=(((c[a+32>>2]|0)*10|0)+f+ -1|0)/(f|0)|0;c[a+324>>2]=10;c[a+328>>2]=10;break}if(!(g>>>0>(h*11|0)>>>0)){c[a+112>>2]=(((c[a+28>>2]|0)*11|0)+f+ -1|0)/(f|0)|0;c[a+116>>2]=(((c[a+32>>2]|0)*11|0)+f+ -1|0)/(f|0)|0;c[a+324>>2]=11;c[a+328>>2]=11;break}if(!(g>>>0>(h*12|0)>>>0)){c[a+112>>2]=(((c[a+28>>2]|0)*12|0)+f+ -1|0)/(f|0)|0;c[a+116>>2]=(((c[a+32>>2]|0)*12|0)+f+ -1|0)/(f|0)|0;c[a+324>>2]=12;c[a+328>>2]=12;break}if(!(g>>>0>(h*13|0)>>>0)){c[a+112>>2]=(((c[a+28>>2]|0)*13|0)+f+ -1|0)/(f|0)|0;c[a+116>>2]=(((c[a+32>>2]|0)*13|0)+f+ -1|0)/(f|0)|0;c[a+324>>2]=13;c[a+328>>2]=13;break}if(!(g>>>0>(h*14|0)>>>0)){c[a+112>>2]=(((c[a+28>>2]|0)*14|0)+f+ -1|0)/(f|0)|0;c[a+116>>2]=(((c[a+32>>2]|0)*14|0)+f+ -1|0)/(f|0)|0;c[a+324>>2]=14;c[a+328>>2]=14;break}e=c[a+28>>2]|0;if(g>>>0>(h*15|0)>>>0){c[a+112>>2]=((e<<4)+f+ -1|0)/(f|0)|0;c[a+116>>2]=((c[a+32>>2]<<4)+f+ -1|0)/(f|0)|0;c[a+324>>2]=16;c[a+328>>2]=16;break}else{c[a+112>>2]=((e*15|0)+f+ -1|0)/(f|0)|0;c[a+116>>2]=(((c[a+32>>2]|0)*15|0)+f+ -1|0)/(f|0)|0;c[a+324>>2]=15;c[a+328>>2]=15;break}}else{c[a+112>>2]=((c[a+28>>2]|0)+f+ -1|0)/(f|0)|0;c[a+116>>2]=((c[a+32>>2]|0)+f+ -1|0)/(f|0)|0;c[a+324>>2]=1;c[a+328>>2]=1}while(0);f=a+216|0;e=a+36|0;k=a+324|0;j=a+328|0;h=0;g=c[f>>2]|0;while(1){o=c[e>>2]|0;if((h|0)>=(o|0))break;c[g+36>>2]=c[k>>2];c[g+40>>2]=c[j>>2];h=h+1|0;g=g+88|0}h=a+316|0;l=a+76|0;g=a+320|0;m=0;n=c[f>>2]|0;while(1){if((m|0)>=(o|0))break;r=c[k>>2]|0;q=(c[l>>2]|0)!=0?8:4;s=n+8|0;p=1;while(1){o=da(r,p)|0;if((o|0)>(q|0))break;if(((c[h>>2]|0)%((da(c[s>>2]|0,p)|0)<<1|0)|0|0)!=0)break;p=p<<1}q=n+36|0;c[q>>2]=o;s=c[j>>2]|0;r=(c[l>>2]|0)!=0?8:4;t=n+12|0;u=1;while(1){p=da(s,u)|0;if((p|0)>(r|0))break;if(((c[g>>2]|0)%((da(c[t>>2]|0,u)|0)<<1|0)|0|0)!=0)break;u=u<<1}r=n+40|0;c[r>>2]=p;s=p<<1;if((o|0)<=(s|0)){o=o<<1;if((p|0)>(o|0))c[r>>2]=o}else c[q>>2]=s;o=c[e>>2]|0;m=m+1|0;n=n+88|0}k=a+28|0;j=a+32|0;l=0;f=c[f>>2]|0;while(1){if((l|0)>=(o|0))break;o=da(c[k>>2]|0,da(c[f+8>>2]|0,c[f+36>>2]|0)|0)|0;u=da(c[h>>2]|0,c[d>>2]|0)|0;c[f+44>>2]=(o+u+ -1|0)/(u|0)|0;u=da(c[j>>2]|0,da(c[f+12>>2]|0,c[f+40>>2]|0)|0)|0;o=da(c[g>>2]|0,c[d>>2]|0)|0;c[f+48>>2]=(u+o+ -1|0)/(o|0)|0;o=c[e>>2]|0;l=l+1|0;f=f+88|0}switch(c[a+44>>2]|0){case 7:case 3:{c[a+120>>2]=3;o=3;break};case 5:case 4:{c[a+120>>2]=4;o=4;break};case 1:{c[a+120>>2]=1;o=1;break};case 6:case 2:{c[a+120>>2]=3;o=3;break};default:c[a+120>>2]=o}c[a+124>>2]=(c[a+84>>2]|0)==0?o:1;if((Gg(a)|0)==0){c[a+128>>2]=1;i=b;return}else{c[a+128>>2]=c[g>>2];i=b;return}}function Gg(a){a=a|0;var b=0,d=0,e=0;b=i;if((c[a+76>>2]|0)!=0){i=b;return 0}if((c[a+308>>2]|0)!=0){i=b;return 0}if((c[a+40>>2]|0)!=3){i=b;return 0}if((c[a+36>>2]|0)!=3){i=b;return 0}if((c[a+44>>2]|0)!=2){i=b;return 0}if((c[a+120>>2]|0)!=3){i=b;return 0}if((c[a+304>>2]|0)!=0){i=b;return 0}d=c[a+216>>2]|0;if((c[d+8>>2]|0)!=2){i=b;return 0}if((c[d+96>>2]|0)!=1){i=b;return 0}if((c[d+184>>2]|0)!=1){i=b;return 0}if((c[d+12>>2]|0)>2){i=b;return 0}if((c[d+100>>2]|0)!=1){i=b;return 0}if((c[d+188>>2]|0)!=1){i=b;return 0}e=c[d+36>>2]|0;if((e|0)!=(c[a+324>>2]|0)){i=b;return 0}if((c[d+124>>2]|0)!=(e|0)){i=b;return 0}if((c[d+212>>2]|0)!=(e|0)){i=b;return 0}e=c[d+40>>2]|0;if((e|0)!=(c[a+328>>2]|0)){i=b;return 0}if((c[d+128>>2]|0)==(e|0)){i=b;return((c[d+216>>2]|0)==(e|0)?1:0)|0}else{i=b;return 0}return 0}function Hg(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0;d=i;e=b+4|0;f=md[c[c[e>>2]>>2]&63](b,1,28)|0;j=b+444|0;c[j>>2]=f;c[f>>2]=158;c[f+4>>2]=159;c[f+8>>2]=0;j=c[j>>2]|0;f=b+212|0;if((c[f>>2]|0)!=8){c[(c[b>>2]|0)+20>>2]=16;c[(c[b>>2]|0)+24>>2]=c[f>>2];qd[c[c[b>>2]>>2]&255](b)}Fg(b);h=md[c[c[e>>2]>>2]&63](b,1,1408)|0;f=b+336|0;c[f>>2]=h+256;st(h|0,0,256)|0;k=0;while(1){if((k|0)>=256){k=128;break}a[h+(k+256)>>0]=k;k=k+1|0}while(1){if((k|0)>=512)break;a[h+(k+384)>>0]=-1;k=k+1|0}st(h+896|0,0,384)|0;h=h+1280|0;f=(c[f>>2]|0)+0|0;k=h+128|0;do{a[h>>0]=a[f>>0]|0;h=h+1|0;f=f+1|0}while((h|0)<(k|0));if(!(((c[b+116>>2]|0)!=0?(c[b+112>>2]|0)!=0:0)?(c[b+120>>2]|0)>=1:0)){c[(c[b>>2]|0)+20>>2]=33;qd[c[c[b>>2]>>2]&255](b)}f=j+12|0;c[f>>2]=0;h=j+16|0;c[h>>2]=Gg(b)|0;m=j+20|0;c[m>>2]=0;j=j+24|0;c[j>>2]=0;do if((c[b+84>>2]|0)==0){c[b+100>>2]=0;c[b+104>>2]=0;c[b+108>>2]=0;k=b+68|0}else{if((c[b+64>>2]|0)==0){c[b+100>>2]=0;c[b+104>>2]=0;c[b+108>>2]=0}k=b+68|0;if((c[k>>2]|0)!=0){c[(c[b>>2]|0)+20>>2]=48;qd[c[c[b>>2]>>2]&255](b)}l=b+120|0;do if((c[l>>2]|0)==3){if((c[b+136>>2]|0)!=0){c[b+104>>2]=1;break}if((c[b+92>>2]|0)==0){c[b+100>>2]=1;break}else{c[b+108>>2]=1;break}}else{c[b+100>>2]=1;c[b+104>>2]=0;c[b+108>>2]=0;c[b+136>>2]=0}while(0);if((c[b+100>>2]|0)!=0){B=md[c[c[e>>2]>>2]&63](b,1,88)|0;n=b+484|0;c[n>>2]=B;c[B>>2]=67;c[B+8>>2]=160;c[B+12>>2]=161;c[B+68>>2]=0;c[B+52>>2]=0;if((c[l>>2]|0)>4){c[(c[b>>2]|0)+20>>2]=57;c[(c[b>>2]|0)+24>>2]=4;qd[c[c[b>>2]>>2]&255](b)}o=b+96|0;s=c[o>>2]|0;if((s|0)>256){c[(c[b>>2]|0)+20>>2]=59;c[(c[b>>2]|0)+24>>2]=256;qd[c[c[b>>2]>>2]&255](b);s=c[o>>2]|0}o=c[n>>2]|0;q=o+32|0;r=c[l>>2]|0;t=1;while(1){v=t+1|0;u=1;p=v;while(1){if((u|0)>=(r|0))break;u=u+1|0;p=da(p,v)|0}if((p|0)>(s|0))break;else t=v}if((v|0)<3){c[(c[b>>2]|0)+20>>2]=58;c[(c[b>>2]|0)+24>>2]=p;qd[c[c[b>>2]>>2]&255](b);u=0;p=1}else{u=0;p=1}while(1){if((u|0)>=(r|0))break;c[q+(u<<2)>>2]=t;u=u+1|0;p=da(p,t)|0}t=b+44|0;v=0;u=0;while(1){if((u|0)<(r|0)){if((c[t>>2]|0)==2)w=c[8160+(u<<2)>>2]|0;else w=u;x=q+(w<<2)|0;w=c[x>>2]|0;y=w+1|0;w=da((p|0)/(w|0)|0,y)|0;if((w|0)<=(s|0)){c[x>>2]=y;v=1;u=u+1|0;p=w;continue}}if((v|0)==0)break;else{v=0;u=0}}q=c[b>>2]|0;if((c[l>>2]|0)==3){c[q+24>>2]=p;c[q+28>>2]=c[o+32>>2];c[q+32>>2]=c[o+36>>2];c[q+36>>2]=c[o+40>>2];c[(c[b>>2]|0)+20>>2]=96;rd[c[(c[b>>2]|0)+4>>2]&127](b,1)}else{c[q+20>>2]=97;c[(c[b>>2]|0)+24>>2]=p;rd[c[(c[b>>2]|0)+4>>2]&127](b,1)}w=Ad[c[(c[e>>2]|0)+8>>2]&31](b,1,p,c[l>>2]|0)|0;u=p;v=0;while(1){if((v|0)>=(c[l>>2]|0))break;s=c[o+(v<<2)+32>>2]|0;x=(u|0)/(s|0)|0;t=s+ -1|0;z=(t|0)/2|0;q=w+(v<<2)|0;r=0;while(1){if((r|0)>=(s|0))break;B=(((r*255|0)+z|0)/(t|0)|0)&255;A=da(r,x)|0;while(1){if((A|0)<(p|0))y=0;else break;while(1){if((y|0)>=(x|0))break;a[(c[q>>2]|0)+(A+y)>>0]=B;y=y+1|0}A=A+u|0}r=r+1|0}u=x;v=v+1|0}c[o+16>>2]=w;c[o+20>>2]=p;ui(b);a:do if((c[b+88>>2]|0)==2){p=c[n>>2]|0;o=(c[b+112>>2]<<1)+4|0;q=0;while(1){if((q|0)>=(c[l>>2]|0))break a;c[p+(q<<2)+68>>2]=md[c[(c[e>>2]|0)+4>>2]&63](b,1,o)|0;q=q+1|0}}while(0);c[m>>2]=c[n>>2]}p=b+108|0;if((c[p>>2]|0)==0?(c[b+104>>2]|0)==0:0)break;o=md[c[c[e>>2]>>2]&63](b,1,44)|0;m=b+484|0;c[m>>2]=o;c[o>>2]=68;c[o+12>>2]=162;n=o+32|0;c[n>>2]=0;c[o+40>>2]=0;if((c[l>>2]|0)!=3){c[(c[b>>2]|0)+20>>2]=48;qd[c[c[b>>2]>>2]&255](b)}l=o+24|0;c[l>>2]=md[c[c[e>>2]>>2]&63](b,1,128)|0;q=0;while(1){if((q|0)>=32)break;B=md[c[(c[e>>2]|0)+4>>2]&63](b,1,4096)|0;c[(c[l>>2]|0)+(q<<2)>>2]=B;q=q+1|0}c[o+28>>2]=1;if((c[p>>2]|0)==0)c[o+16>>2]=0;else{l=c[b+96>>2]|0;if((l|0)>=8){if((l|0)>256){c[(c[b>>2]|0)+20>>2]=59;c[(c[b>>2]|0)+24>>2]=256;qd[c[c[b>>2]>>2]&255](b)}}else{c[(c[b>>2]|0)+20>>2]=58;c[(c[b>>2]|0)+24>>2]=8;qd[c[c[b>>2]>>2]&255](b)}c[o+16>>2]=Ad[c[(c[e>>2]|0)+8>>2]&31](b,1,l,3)|0;c[o+20>>2]=l}l=b+88|0;if((c[l>>2]|0)!=0){c[l>>2]=2;c[n>>2]=md[c[(c[e>>2]|0)+4>>2]&63](b,1,((c[b+112>>2]|0)*6|0)+12|0)|0;Ci(b)}c[j>>2]=c[m>>2]}while(0);if((c[k>>2]|0)==0){b:do if((c[h>>2]|0)==0){Kf(b);v=md[c[c[e>>2]>>2]&63](b,1,160)|0;c[b+476>>2]=v;c[v>>2]=164;c[v+4>>2]=66;c[v+8>>2]=0;if((c[b+308>>2]|0)!=0){c[(c[b>>2]|0)+20>>2]=26;qd[c[c[b>>2]>>2]&255](b)}s=b+36|0;j=b+324|0;n=b+328|0;u=b+316|0;t=b+320|0;r=b+112|0;q=0;p=c[b+216>>2]|0;while(1){if((q|0)>=(c[s>>2]|0))break b;l=da(c[p+8>>2]|0,c[p+36>>2]|0)|0;l=(l|0)/(c[j>>2]|0)|0;o=da(c[p+12>>2]|0,c[p+40>>2]|0)|0;o=(o|0)/(c[n>>2]|0)|0;m=c[u>>2]|0;h=c[t>>2]|0;c[v+(q<<2)+100>>2]=o;do if((c[p+52>>2]|0)==0)c[v+(q<<2)+52>>2]=41;else{if((l|0)==(m|0)&(o|0)==(h|0)){c[v+(q<<2)+52>>2]=42;break}do if((l<<1|0)==(m|0)){if((o|0)==(h|0)){c[v+(q<<2)+52>>2]=43;break}if((o<<1|0)==(h|0))c[v+(q<<2)+52>>2]=44;else g=103}else g=103;while(0);do if((g|0)==103){g=0;if(((m|0)%(l|0)|0|0)==0?((h|0)%(o|0)|0|0)==0:0){c[v+(q<<2)+52>>2]=45;a[v+q+140>>0]=(m|0)/(l|0)|0;a[v+q+150>>0]=(h|0)/(o|0)|0;break}c[(c[b>>2]|0)+20>>2]=39;qd[c[c[b>>2]>>2]&255](b)}while(0);B=c[u>>2]|0;A=B+ -1+(c[r>>2]|0)|0;c[v+(q<<2)+12>>2]=Ad[c[(c[e>>2]|0)+8>>2]&31](b,1,A-((A|0)%(B|0)|0)|0,c[t>>2]|0)|0}while(0);q=q+1|0;p=p+88|0}}else{g=md[c[c[e>>2]>>2]&63](b,1,48)|0;j=b+476|0;c[j>>2]=g;c[g>>2]=163;c[g+8>>2]=0;l=da(c[b+112>>2]|0,c[b+120>>2]|0)|0;c[g+40>>2]=l;h=g+4|0;if((c[b+320>>2]|0)==2){c[h>>2]=64;c[g+12>>2]=39;c[g+32>>2]=md[c[(c[e>>2]|0)+4>>2]&63](b,1,l)|0}else{c[h>>2]=65;c[g+12>>2]=40;c[g+32>>2]=0}m=c[j>>2]|0;l=m+16|0;c[l>>2]=md[c[c[e>>2]>>2]&63](b,1,1024)|0;g=m+20|0;c[g>>2]=md[c[c[e>>2]>>2]&63](b,1,1024)|0;n=m+24|0;c[n>>2]=md[c[c[e>>2]>>2]&63](b,1,1024)|0;m=m+28|0;c[m>>2]=md[c[c[e>>2]>>2]&63](b,1,1024)|0;h=1;j=0;o=-128;while(1){if(!h)break b;c[(c[l>>2]|0)+(j<<2)>>2]=(o*91881|0)+32768>>16;c[(c[g>>2]|0)+(j<<2)>>2]=(o*116130|0)+32768>>16;B=da(o,-46802)|0;c[(c[n>>2]|0)+(j<<2)>>2]=B;B=(da(o,-22553)|0)+32768|0;c[(c[m>>2]|0)+(j<<2)>>2]=B;B=j+1|0;h=(B|0)<256;j=B;o=o+1|0}}while(0);Pg(b,c[b+108>>2]|0)}Wf(b);if((c[b+228>>2]|0)==0)Yf(b);else sf(b);g=b+460|0;if((c[(c[g>>2]|0)+16>>2]|0)==0)h=(c[b+64>>2]|0)!=0;else h=1;Cf(b,h&1);if((c[k>>2]|0)==0)ng(b,0);qd[c[(c[e>>2]|0)+24>>2]&255](b);qd[c[(c[g>>2]|0)+8>>2]&255](b);h=b+8|0;e=c[h>>2]|0;if((e|0)==0){i=d;return}if((c[b+64>>2]|0)!=0){i=d;return}if((c[(c[g>>2]|0)+16>>2]|0)==0){i=d;return}g=c[b+36>>2]|0;if((c[b+224>>2]|0)!=0)g=(g*3|0)+2|0;c[e+4>>2]=0;B=da(c[b+332>>2]|0,g)|0;c[(c[h>>2]|0)+8>>2]=B;c[(c[h>>2]|0)+12>>2]=0;c[(c[h>>2]|0)+16>>2]=(c[b+108>>2]|0)!=0?3:2;c[f>>2]=(c[f>>2]|0)+1;i=d;return}function Ig(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;d=i;b=c[a+444>>2]|0;if((c[b+8>>2]|0)==0){e=a+84|0;do if((c[e>>2]|0)!=0?(c[a+136>>2]|0)==0:0){if((c[a+92>>2]|0)!=0?(c[a+108>>2]|0)!=0:0){c[a+484>>2]=c[b+24>>2];c[b+8>>2]=1;break}if((c[a+100>>2]|0)==0){c[(c[a>>2]|0)+20>>2]=47;qd[c[c[a>>2]>>2]&255](a);break}else{c[a+484>>2]=c[b+20>>2];break}}while(0);qd[c[c[a+472>>2]>>2]&255](a);qd[c[(c[a+452>>2]|0)+8>>2]&255](a);if((c[a+68>>2]|0)==0){if((c[b+16>>2]|0)==0)qd[c[c[a+480>>2]>>2]&255](a);qd[c[c[a+476>>2]>>2]&255](a);if((c[e>>2]|0)==0)e=b+8|0;else{e=b+8|0;rd[c[c[a+484>>2]>>2]&127](a,c[e>>2]|0)}rd[c[c[a+456>>2]>>2]&127](a,(c[e>>2]|0)!=0?3:0);rd[c[c[a+448>>2]>>2]&127](a,0)}}else{c[b+8>>2]=0;rd[c[c[a+484>>2]>>2]&127](a,0);rd[c[c[a+456>>2]>>2]&127](a,2);rd[c[c[a+448>>2]>>2]&127](a,2)}e=a+8|0;f=c[e>>2]|0;if((f|0)==0){i=d;return}g=b+12|0;c[f+12>>2]=c[g>>2];c[(c[e>>2]|0)+16>>2]=(c[g>>2]|0)+((c[b+8>>2]|0)!=0?2:1);if((c[a+64>>2]|0)==0){i=d;return}if((c[(c[a+460>>2]|0)+20>>2]|0)!=0){i=d;return}g=(c[e>>2]|0)+16|0;c[g>>2]=(c[g>>2]|0)+((c[a+108>>2]|0)!=0?2:1);i=d;return}function Jg(a){a=a|0;var b=0,d=0;b=i;d=c[a+444>>2]|0;if((c[a+84>>2]|0)!=0)qd[c[(c[a+484>>2]|0)+8>>2]&255](a);d=d+12|0;c[d>>2]=(c[d>>2]|0)+1;i=b;return}function Kg(a){a=a|0;var b=0;b=c[a+476>>2]|0;c[b+36>>2]=0;c[b+44>>2]=c[a+116>>2];return}function Lg(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0;e=i;i=i+16|0;l=e;j=c[a+476>>2]|0;if((c[j+36>>2]|0)==0){k=j+44|0;n=c[k>>2]|0;n=n>>>0<2?n:2;m=c[g>>2]|0;h=h-m|0;h=n>>>0>h>>>0?h:n;c[l>>2]=c[f+(m<<2)>>2];if(h>>>0>1){c[l+4>>2]=c[f+(m+1<<2)>>2];f=j+36|0}else{c[l+4>>2]=c[j+32>>2];f=j+36|0;c[f>>2]=1}Fd[c[j+12>>2]&63](a,b,c[d>>2]|0,l)}else{b=c[j+40>>2]|0;k=j+32|0;a=f+(c[g>>2]<<2)|0;f=1;while(1){if((f|0)<=0)break;pt(c[a>>2]|0,c[k>>2]|0,b|0)|0;k=k+4|0;a=a+4|0;f=f+ -1|0}f=j+36|0;c[f>>2]=0;h=1;k=j+44|0}c[g>>2]=(c[g>>2]|0)+h;c[k>>2]=(c[k>>2]|0)-h;if((c[f>>2]|0)!=0){i=e;return}c[d>>2]=(c[d>>2]|0)+1;i=e;return}function Mg(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;n=i;k=c[b+476>>2]|0;h=c[b+336>>2]|0;j=c[k+16>>2]|0;m=c[k+20>>2]|0;l=c[k+24>>2]|0;k=c[k+28>>2]|0;q=f<<1;r=c[e>>2]|0;o=b+112|0;p=c[r+(q<<2)>>2]|0;q=c[r+((q|1)<<2)>>2]|0;b=c[(c[e+4>>2]|0)+(f<<2)>>2]|0;e=c[(c[e+8>>2]|0)+(f<<2)>>2]|0;f=c[g>>2]|0;g=c[g+4>>2]|0;r=(c[o>>2]|0)>>>1;while(1){if((r|0)==0)break;s=d[b>>0]|0;u=d[e>>0]|0;v=c[j+(u<<2)>>2]|0;u=(c[k+(s<<2)>>2]|0)+(c[l+(u<<2)>>2]|0)>>16;s=c[m+(s<<2)>>2]|0;t=d[p>>0]|0;a[f>>0]=a[h+(t+v)>>0]|0;a[f+1>>0]=a[h+(t+u)>>0]|0;a[f+2>>0]=a[h+(t+s)>>0]|0;t=d[p+1>>0]|0;a[f+3>>0]=a[h+(t+v)>>0]|0;a[f+4>>0]=a[h+(t+u)>>0]|0;a[f+5>>0]=a[h+(t+s)>>0]|0;t=d[q>>0]|0;a[g>>0]=a[h+(t+v)>>0]|0;a[g+1>>0]=a[h+(t+u)>>0]|0;a[g+2>>0]=a[h+(t+s)>>0]|0;t=d[q+1>>0]|0;a[g+3>>0]=a[h+(t+v)>>0]|0;a[g+4>>0]=a[h+(t+u)>>0]|0;a[g+5>>0]=a[h+(t+s)>>0]|0;p=p+2|0;q=q+2|0;b=b+1|0;e=e+1|0;f=f+6|0;g=g+6|0;r=r+ -1|0}if((c[o>>2]&1|0)==0){i=n;return}v=d[b>>0]|0;t=d[e>>0]|0;s=c[j+(t<<2)>>2]|0;t=(c[k+(v<<2)>>2]|0)+(c[l+(t<<2)>>2]|0)>>16;v=c[m+(v<<2)>>2]|0;u=d[p>>0]|0;a[f>>0]=a[h+(u+s)>>0]|0;a[f+1>>0]=a[h+(u+t)>>0]|0;a[f+2>>0]=a[h+(u+v)>>0]|0;u=d[q>>0]|0;a[g>>0]=a[h+(u+s)>>0]|0;a[g+1>>0]=a[h+(u+t)>>0]|0;a[g+2>>0]=a[h+(u+v)>>0]|0;i=n;return}function Ng(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;h=i;Fd[c[(c[a+476>>2]|0)+12>>2]&63](a,b,c[d>>2]|0,f+(c[g>>2]<<2)|0);c[g>>2]=(c[g>>2]|0)+1;c[d>>2]=(c[d>>2]|0)+1;i=h;return}function Og(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;m=i;j=c[b+476>>2]|0;h=c[b+336>>2]|0;n=c[j+16>>2]|0;l=c[j+20>>2]|0;k=c[j+24>>2]|0;j=c[j+28>>2]|0;o=b+112|0;p=c[(c[e>>2]|0)+(f<<2)>>2]|0;b=c[(c[e+4>>2]|0)+(f<<2)>>2]|0;f=c[(c[e+8>>2]|0)+(f<<2)>>2]|0;g=c[g>>2]|0;e=(c[o>>2]|0)>>>1;while(1){if((e|0)==0)break;q=d[b>>0]|0;s=d[f>>0]|0;t=c[n+(s<<2)>>2]|0;s=(c[j+(q<<2)>>2]|0)+(c[k+(s<<2)>>2]|0)>>16;q=c[l+(q<<2)>>2]|0;r=d[p>>0]|0;a[g>>0]=a[h+(r+t)>>0]|0;a[g+1>>0]=a[h+(r+s)>>0]|0;a[g+2>>0]=a[h+(r+q)>>0]|0;r=d[p+1>>0]|0;a[g+3>>0]=a[h+(r+t)>>0]|0;a[g+4>>0]=a[h+(r+s)>>0]|0;a[g+5>>0]=a[h+(r+q)>>0]|0;p=p+2|0;b=b+1|0;f=f+1|0;g=g+6|0;e=e+ -1|0}if((c[o>>2]&1|0)==0){i=m;return}t=d[b>>0]|0;q=d[f>>0]|0;r=(c[j+(t<<2)>>2]|0)+(c[k+(q<<2)>>2]|0)>>16;t=c[l+(t<<2)>>2]|0;s=d[p>>0]|0;a[g>>0]=a[h+(s+(c[n+(q<<2)>>2]|0))>>0]|0;a[g+1>>0]=a[h+(s+r)>>0]|0;a[g+2>>0]=a[h+(s+t)>>0]|0;i=m;return}function Pg(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,j=0;d=i;j=a+4|0;h=md[c[c[j>>2]>>2]&63](a,1,28)|0;c[a+456>>2]=h;c[h>>2]=69;f=h+8|0;c[f>>2]=0;e=h+12|0;c[e>>2]=0;if((c[a+84>>2]|0)==0){i=d;return}g=c[a+320>>2]|0;c[h+16>>2]=g;h=c[j>>2]|0;if((b|0)==0){j=da(c[a+112>>2]|0,c[a+120>>2]|0)|0;c[e>>2]=Ad[c[h+8>>2]&31](a,1,j,g)|0;i=d;return}else{b=da(c[a+112>>2]|0,c[a+120>>2]|0)|0;j=g+ -1+(c[a+116>>2]|0)|0;c[f>>2]=sd[c[h+16>>2]&31](a,1,0,b,j-((j|0)%(g|0)|0)|0,g)|0;i=d;return}}function Qg(a,b){a=a|0;b=b|0;var d=0,e=0;e=i;d=c[a+456>>2]|0;do if((b|0)==3){if((c[d+8>>2]|0)==0){c[(c[a>>2]|0)+20>>2]=3;qd[c[c[a>>2]>>2]&255](a)}c[d+4>>2]=68}else if((b|0)==0){if((c[a+84>>2]|0)==0){c[d+4>>2]=c[(c[a+476>>2]|0)+4>>2];break}c[d+4>>2]=67;b=d+12|0;if((c[b>>2]|0)==0)c[b>>2]=Ed[c[(c[a+4>>2]|0)+28>>2]&63](a,c[d+8>>2]|0,0,c[d+16>>2]|0,1)|0}else if((b|0)==2){if((c[d+8>>2]|0)==0){c[(c[a>>2]|0)+20>>2]=3;qd[c[c[a>>2]>>2]&255](a)}c[d+4>>2]=69}else{c[(c[a>>2]|0)+20>>2]=3;qd[c[c[a>>2]>>2]&255](a)}while(0);c[d+24>>2]=0;c[d+20>>2]=0;i=e;return}function Rg(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0;j=i;i=i+16|0;k=j;n=c[a+456>>2]|0;l=h-(c[g>>2]|0)|0;m=c[n+16>>2]|0;c[k>>2]=0;h=n+12|0;nd[c[(c[a+476>>2]|0)+4>>2]&127](a,b,d,e,c[h>>2]|0,k,l>>>0>m>>>0?m:l);Fd[c[(c[a+484>>2]|0)+4>>2]&63](a,c[h>>2]|0,f+(c[g>>2]<<2)|0,c[k>>2]|0);c[g>>2]=(c[g>>2]|0)+(c[k>>2]|0);i=j;return}function Sg(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0;f=i;h=c[a+456>>2]|0;l=c[h+24>>2]|0;if((l|0)==0){k=h+16|0;m=Ed[c[(c[a+4>>2]|0)+28>>2]&63](a,c[h+8>>2]|0,c[h+20>>2]|0,c[k>>2]|0,1)|0;c[h+12>>2]=m;j=h+24|0;l=c[j>>2]|0}else{m=c[h+12>>2]|0;j=h+24|0;k=h+16|0}nd[c[(c[a+476>>2]|0)+4>>2]&127](a,b,d,e,m,j,c[k>>2]|0);b=c[j>>2]|0;if(b>>>0>l>>>0){b=b-l|0;Fd[c[(c[a+484>>2]|0)+4>>2]&63](a,(c[h+12>>2]|0)+(l<<2)|0,0,b);c[g>>2]=(c[g>>2]|0)+b;b=c[j>>2]|0}a=c[k>>2]|0;if(b>>>0<a>>>0){i=f;return}m=h+20|0;c[m>>2]=(c[m>>2]|0)+a;c[j>>2]=0;i=f;return}function Tg(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0;b=i;d=c[a+456>>2]|0;k=c[d+24>>2]|0;if((k|0)==0){j=d+16|0;c[d+12>>2]=Ed[c[(c[a+4>>2]|0)+28>>2]&63](a,c[d+8>>2]|0,c[d+20>>2]|0,c[j>>2]|0,0)|0;e=d+24|0;k=c[e>>2]|0}else{e=d+24|0;j=d+16|0}l=(c[j>>2]|0)-k|0;m=c[g>>2]|0;h=h-m|0;l=l>>>0>h>>>0?h:l;h=d+20|0;n=(c[a+116>>2]|0)-(c[h>>2]|0)|0;l=l>>>0>n>>>0?n:l;Fd[c[(c[a+484>>2]|0)+4>>2]&63](a,(c[d+12>>2]|0)+(k<<2)|0,f+(m<<2)|0,l);c[g>>2]=(c[g>>2]|0)+l;k=(c[e>>2]|0)+l|0;c[e>>2]=k;g=c[j>>2]|0;if(k>>>0<g>>>0){i=b;return}c[h>>2]=(c[h>>2]|0)+g;c[e>>2]=0;i=b;return}function Ug(a){a=a|0;var b=0;b=c[a+476>>2]|0;c[b+92>>2]=c[a+320>>2];c[b+96>>2]=c[a+116>>2];return}function Vg(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0;k=i;e=c[a+476>>2]|0;l=c[e+92>>2]|0;j=a+320|0;m=c[j>>2]|0;if((l|0)<(m|0)){b=m;m=e+92|0}else{l=a+36|0;m=0;n=c[a+216>>2]|0;while(1){if((m|0)>=(c[l>>2]|0))break;o=(c[b+(m<<2)>>2]|0)+((da(c[d>>2]|0,c[e+(m<<2)+100>>2]|0)|0)<<2)|0;Fd[c[e+(m<<2)+52>>2]&63](a,n,o,e+(m<<2)+12|0);m=m+1|0;n=n+88|0}m=e+92|0;c[m>>2]=0;b=c[j>>2]|0;l=0}o=b-l|0;n=e+96|0;b=c[n>>2]|0;o=o>>>0>b>>>0?b:o;b=c[g>>2]|0;h=h-b|0;o=o>>>0>h>>>0?h:o;od[c[(c[a+480>>2]|0)+4>>2]&127](a,e+12|0,l,f+(b<<2)|0,o);c[g>>2]=(c[g>>2]|0)+o;c[n>>2]=(c[n>>2]|0)-o;o=(c[m>>2]|0)+o|0;c[m>>2]=o;if((o|0)<(c[j>>2]|0)){i=k;return}c[d>>2]=(c[d>>2]|0)+1;i=k;return}function Wg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[e>>2]=0;return}function Xg(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[e>>2]=d;return}function Yg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0;d=i;f=c[f>>2]|0;g=b+320|0;j=b+112|0;h=0;while(1){if((h|0)>=(c[g>>2]|0))break;b=c[f+(h<<2)>>2]|0;l=b+(c[j>>2]|0)|0;k=c[e+(h<<2)>>2]|0;while(1){if(!(b>>>0<l>>>0))break;m=a[k>>0]|0;a[b>>0]=m;a[b+1>>0]=m;k=k+1|0;b=b+2|0}h=h+1|0}i=d;return}function Zg(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;d=i;f=c[f>>2]|0;g=b+320|0;b=b+112|0;h=0;j=0;while(1){if((j|0)>=(c[g>>2]|0))break;l=f+(j<<2)|0;n=c[l>>2]|0;k=n+(c[b>>2]|0)|0;m=c[e+(h<<2)>>2]|0;while(1){if(!(n>>>0<k>>>0))break;o=a[m>>0]|0;a[n>>0]=o;a[n+1>>0]=o;m=m+1|0;n=n+2|0}k=c[b>>2]|0;n=f+((j|1)<<2)|0;m=1;while(1){if((m|0)<=0)break;pt(c[n>>2]|0,c[l>>2]|0,k|0)|0;l=l+4|0;n=n+4|0;m=m+ -1|0}h=h+1|0;j=j+2|0}i=d;return}function _g(b,e,f,g){b=b|0;e=e|0;f=f|0;g=g|0;var h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;h=i;k=c[b+476>>2]|0;g=c[g>>2]|0;m=c[e+4>>2]|0;j=d[k+140+m>>0]|0;m=a[k+m+150>>0]|0;e=m&255;k=b+320|0;b=b+112|0;m=(m&255)>1;n=0;l=0;while(1){if((l|0)>=(c[k>>2]|0))break;o=g+(l<<2)|0;r=c[o>>2]|0;q=r+(c[b>>2]|0)|0;s=c[f+(n<<2)>>2]|0;a:while(1){if(!(r>>>0<q>>>0))break;p=s+1|0;s=a[s>>0]|0;t=j;while(1){if((t|0)<=0){s=p;continue a}a[r>>0]=s;r=r+1|0;t=t+ -1|0}}b:do if(m){p=c[b>>2]|0;q=g+(l+1<<2)|0;r=e;while(1){r=r+ -1|0;if((r|0)<=0)break b;pt(c[q>>2]|0,c[o>>2]|0,p|0)|0;o=o+4|0;q=q+4|0}}while(0);n=n+1|0;l=l+e|0}i=h;return}function $g(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=i;e=c[a>>2]|0;if((b|0)>=0){if((c[e+104>>2]|0)<(b|0)){i=d;return}qd[c[e+8>>2]&255](a);i=d;return}b=e+108|0;f=c[b>>2]|0;if(!((f|0)!=0?(c[e+104>>2]|0)<=2:0)){qd[c[e+8>>2]&255](a);f=c[b>>2]|0}c[b>>2]=f+1;i=d;return}function ah(a){a=a|0;var b=0,d=0,e=0;b=i;i=i+208|0;d=b;e=b+8|0;rd[c[(c[a>>2]|0)+12>>2]&127](a,e);a=c[p>>2]|0;c[d>>2]=e;Nb(a|0,8152,d|0)|0;i=b;return}function bh(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;f=i;i=i+32|0;e=f;b=c[b>>2]|0;h=c[b+20>>2]|0;if((h|0)>0?(h|0)<=(c[b+116>>2]|0):0){j=c[(c[b+112>>2]|0)+(h<<2)>>2]|0;g=8}else{j=c[b+120>>2]|0;if(((j|0)!=0?(g=c[b+124>>2]|0,(h|0)>=(g|0)):0)?(h|0)<=(c[b+128>>2]|0):0){j=c[j+(h-g<<2)>>2]|0;g=8}else g=9}if((g|0)==8)if((j|0)==0)g=9;else h=j;if((g|0)==9){c[b+24>>2]=h;h=c[c[b+112>>2]>>2]|0}k=h;while(1){j=k+1|0;k=a[k>>0]|0;if(k<<24>>24==0)break;else if(k<<24>>24==37){g=12;break}else k=j}if((g|0)==12?(a[j>>0]|0)==115:0){c[e>>2]=b+24;et(d,h,e);i=f;return}o=c[b+28>>2]|0;n=c[b+32>>2]|0;m=c[b+36>>2]|0;l=c[b+40>>2]|0;g=c[b+44>>2]|0;j=c[b+48>>2]|0;k=c[b+52>>2]|0;c[e>>2]=c[b+24>>2];c[e+4>>2]=o;c[e+8>>2]=n;c[e+12>>2]=m;c[e+16>>2]=l;c[e+20>>2]=g;c[e+24>>2]=j;c[e+28>>2]=k;et(d,h,e);i=f;return}function ch(a){a=a|0;c[(c[a>>2]|0)+108>>2]=0;c[(c[a>>2]|0)+20>>2]=0;return}function dh(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,h=0,j=0,k=0,l=0.0,m=0.0,n=0.0,o=0.0,p=0.0,q=0,r=0,s=0,t=0,u=0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0;f=i;h=e+7|0;k=a;j=0;while(1){if((j|0)>=8){h=7;break}t=c[b+(j<<2)>>2]|0;u=d[t+e>>0]|0;s=d[t+h>>0]|0;m=+(u+s|0);s=u-s|0;p=+(s|0);u=d[t+(e+1)>>0]|0;q=d[t+(e+6)>>0]|0;l=+(u+q|0);q=u-q|0;u=d[t+(e+2)>>0]|0;r=d[t+(e+5)>>0]|0;n=+(u+r|0);r=u-r|0;u=d[t+(e+3)>>0]|0;t=d[t+(e+4)>>0]|0;o=+(u+t|0);v=m+o;o=m-o;m=l+n;g[k>>2]=v+m+-1024.0;g[k+16>>2]=v-m;n=(l-n+o)*.7071067690849304;g[k+8>>2]=o+n;g[k+24>>2]=o-n;n=+(u-t+r|0);o=+(q+s|0);l=(n-o)*.3826834261417389;n=n*.5411961078643799+l;l=o*1.3065630197525024+l;o=+(r+q|0)*.7071067690849304;m=p+o;o=p-o;g[k+20>>2]=o+n;g[k+12>>2]=o-n;g[k+4>>2]=m+l;g[k+28>>2]=m-l;k=k+32|0;j=j+1|0}while(1){if(!((h|0)>-1))break;l=+g[a>>2];u=a+224|0;m=+g[u>>2];y=l+m;m=l-m;t=a+32|0;l=+g[t>>2];q=a+192|0;n=+g[q>>2];x=l+n;n=l-n;e=a+64|0;l=+g[e>>2];r=a+160|0;p=+g[r>>2];v=l+p;p=l-p;s=a+96|0;l=+g[s>>2];b=a+128|0;o=+g[b>>2];w=l+o;z=y+w;w=y-w;y=x+v;g[a>>2]=z+y;g[b>>2]=z-y;v=(x-v+w)*.7071067690849304;g[e>>2]=w+v;g[q>>2]=w-v;o=l-o+p;l=n+m;v=(o-l)*.3826834261417389;o=o*.5411961078643799+v;v=l*1.3065630197525024+v;n=(p+n)*.7071067690849304;p=m+n;n=m-n;g[r>>2]=n+o;g[s>>2]=n-o;g[t>>2]=p+v;g[u>>2]=p-v;a=a+4|0;h=h+ -1|0}i=f;return}function eh(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;f=i;g=e+7|0;j=a;h=0;while(1){if((h|0)>=8){g=7;break}m=c[b+(h<<2)>>2]|0;p=d[m+e>>0]|0;o=d[m+g>>0]|0;s=p+o|0;o=p-o|0;p=d[m+(e+1)>>0]|0;n=d[m+(e+6)>>0]|0;r=p+n|0;n=p-n|0;p=d[m+(e+2)>>0]|0;l=d[m+(e+5)>>0]|0;k=p+l|0;l=p-l|0;p=d[m+(e+3)>>0]|0;m=d[m+(e+4)>>0]|0;q=p+m|0;t=s+q|0;q=s-q|0;s=r+k|0;c[j>>2]=t+s+ -1024;c[j+16>>2]=t-s;k=(r-k+q|0)*181>>8;c[j+8>>2]=q+k;c[j+24>>2]=q-k;m=p-m+l|0;p=n+o|0;k=(m-p|0)*98>>8;m=(m*139>>8)+k|0;k=(p*334>>8)+k|0;n=(l+n|0)*181>>8;l=o+n|0;n=o-n|0;c[j+20>>2]=n+m;c[j+12>>2]=n-m;c[j+4>>2]=l+k;c[j+28>>2]=l-k;j=j+32|0;h=h+1|0}while(1){if(!((g|0)>-1))break;q=c[a>>2]|0;t=a+224|0;l=c[t>>2]|0;v=q+l|0;l=q-l|0;q=a+32|0;j=c[q>>2]|0;s=a+192|0;n=c[s>>2]|0;h=j+n|0;n=j-n|0;j=a+64|0;p=c[j>>2]|0;m=a+160|0;r=c[m>>2]|0;e=p+r|0;r=p-r|0;p=a+96|0;k=c[p>>2]|0;u=a+128|0;o=c[u>>2]|0;b=k+o|0;w=v+b|0;b=v-b|0;v=h+e|0;c[a>>2]=w+v;c[u>>2]=w-v;e=(h-e+b|0)*181>>8;c[j>>2]=b+e;c[s>>2]=b-e;o=k-o+r|0;k=n+l|0;s=(o-k|0)*98>>8;o=(o*139>>8)+s|0;s=(k*334>>8)+s|0;n=(r+n|0)*181>>8;r=l+n|0;n=l-n|0;c[m>>2]=n+o;c[p>>2]=n-o;c[q>>2]=r+s;c[t>>2]=r-s;a=a+4|0;g=g+ -1|0}i=f;return}function fh(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;f=i;g=e+7|0;j=a;h=0;while(1){if((h|0)>=8){g=7;break}m=c[b+(h<<2)>>2]|0;v=d[m+e>>0]|0;r=d[m+g>>0]|0;l=v+r|0;u=d[m+(e+1)>>0]|0;q=d[m+(e+6)>>0]|0;w=u+q|0;t=d[m+(e+2)>>0]|0;p=d[m+(e+5)>>0]|0;n=t+p|0;s=d[m+(e+3)>>0]|0;m=d[m+(e+4)>>0]|0;k=s+m|0;o=l+k|0;k=l-k|0;l=w+n|0;n=w-n|0;r=v-r|0;q=u-q|0;p=t-p|0;m=s-m|0;c[j>>2]=(o+l<<2)+ -4096;c[j+16>>2]=o-l<<2;l=((k+n|0)*4433|0)+1024|0;c[j+8>>2]=l+(k*6270|0)>>11;c[j+24>>2]=l+(da(n,-15137)|0)>>11;n=r+p|0;l=q+m|0;k=((n+l|0)*9633|0)+1024|0;n=(da(n,-3196)|0)+k|0;k=(da(l,-16069)|0)+k|0;l=da(r+m|0,-7373)|0;o=da(q+p|0,-20995)|0;c[j+4>>2]=(r*12299|0)+(l+n)>>11;c[j+12>>2]=(q*25172|0)+(o+k)>>11;c[j+20>>2]=(p*16819|0)+(o+n)>>11;c[j+28>>2]=(m*2446|0)+(l+k)>>11;j=j+32|0;h=h+1|0}while(1){if(!((g|0)>-1))break;y=c[a>>2]|0;w=a+224|0;l=c[w>>2]|0;e=y+l|0;m=a+32|0;x=c[m>>2]|0;r=a+192|0;n=c[r>>2]|0;z=x+n|0;q=a+64|0;h=c[q>>2]|0;s=a+160|0;p=c[s>>2]|0;u=h+p|0;o=a+96|0;j=c[o>>2]|0;v=a+128|0;t=c[v>>2]|0;k=j+t|0;b=e+k+2|0;k=e-k|0;e=z+u|0;u=z-u|0;l=y-l|0;n=x-n|0;p=h-p|0;t=j-t|0;c[a>>2]=b+e>>2;c[v>>2]=b-e>>2;v=((k+u|0)*4433|0)+16384|0;c[q>>2]=v+(k*6270|0)>>15;c[r>>2]=v+(da(u,-15137)|0)>>15;r=l+p|0;u=n+t|0;v=((r+u|0)*9633|0)+16384|0;r=(da(r,-3196)|0)+v|0;v=(da(u,-16069)|0)+v|0;u=da(l+t|0,-7373)|0;q=da(n+p|0,-20995)|0;c[m>>2]=(l*12299|0)+(u+r)>>15;c[o>>2]=(n*25172|0)+(q+v)>>15;c[s>>2]=(p*16819|0)+(q+r)>>15;c[w>>2]=(t*2446|0)+(u+v)>>15;a=a+4|0;g=g+ -1|0}i=f;return}function gh(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;f=i;st(a|0,0,256)|0;g=e+6|0;j=a;h=0;while(1){if((h|0)>=7){g=0;break}q=c[b+(h<<2)>>2]|0;t=d[q+e>>0]|0;l=d[q+g>>0]|0;o=t+l|0;n=d[q+(e+1)>>0]|0;m=d[q+(e+5)>>0]|0;r=n+m|0;p=d[q+(e+2)>>0]|0;k=d[q+(e+4)>>0]|0;s=p+k|0;q=d[q+(e+3)>>0]|0;l=t-l|0;m=n-m|0;k=p-k|0;p=o+s|0;c[j>>2]=(p+r+q<<2)+ -3584;q=q<<1;p=(p-q-q|0)*2896|0;n=(o-s|0)*7542|0;s=(r-s|0)*2578|0;c[j+8>>2]=p+n+s+1024>>11;o=(o-r|0)*7223|0;c[j+16>>2]=o+s+(da(r-q|0,-5793)|0)+1024>>11;c[j+24>>2]=p-n+o+1024>>11;o=(l+m|0)*7663|0;n=(l-m|0)*1395|0;m=da(m+k|0,-11295)|0;l=(l+k|0)*5027|0;c[j+4>>2]=o-n+l+1024>>11;c[j+12>>2]=o+n+m+1024>>11;c[j+20>>2]=m+(l+(k*15326|0))+1024>>11;j=j+32|0;h=h+1|0}while(1){if((g|0)>=7)break;v=c[a>>2]|0;n=a+192|0;r=c[n>>2]|0;o=v+r|0;m=a+32|0;l=c[m>>2]|0;t=a+160|0;q=c[t>>2]|0;j=l+q|0;u=a+64|0;k=c[u>>2]|0;e=a+128|0;s=c[e>>2]|0;h=k+s|0;p=a+96|0;b=c[p>>2]|0;r=v-r|0;q=l-q|0;s=k-s|0;k=o+h|0;c[a>>2]=((k+j+b|0)*10700|0)+16384>>15;b=b<<1;k=(k-b-b|0)*3783|0;l=(o-h|0)*9850|0;h=(j-h|0)*3367|0;c[u>>2]=k+l+h+16384>>15;o=(o-j|0)*9434|0;c[e>>2]=o+h+(da(j-b|0,-7566)|0)+16384>>15;c[n>>2]=k-l+o+16384>>15;n=(r+q|0)*10009|0;o=(r-q|0)*1822|0;q=da(q+s|0,-14752)|0;r=(r+s|0)*6565|0;c[m>>2]=n-o+r+16384>>15;c[p>>2]=n+o+q+16384>>15;c[t>>2]=q+(r+(s*20017|0))+16384>>15;a=a+4|0;g=g+1|0}i=f;return}function hh(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;f=i;st(a|0,0,256)|0;g=e+5|0;j=a;h=0;while(1){if((h|0)>=6){g=0;break}l=c[b+(h<<2)>>2]|0;t=d[l+e>>0]|0;n=d[l+g>>0]|0;q=t+n|0;s=d[l+(e+1)>>0]|0;k=d[l+(e+4)>>0]|0;m=s+k|0;r=d[l+(e+2)>>0]|0;l=d[l+(e+3)>>0]|0;p=r+l|0;o=q+p|0;n=t-n|0;k=s-k|0;l=r-l|0;c[j>>2]=(o+m<<2)+ -3072;c[j+8>>2]=((q-p|0)*10033|0)+1024>>11;c[j+16>>2]=((o-m-m|0)*5793|0)+1024>>11;m=((n+l|0)*2998|0)+1024>>11;c[j+4>>2]=m+(n+k<<2);c[j+12>>2]=n-k-l<<2;c[j+20>>2]=m+(l-k<<2);j=j+32|0;h=h+1|0}while(1){if((g|0)>=6)break;u=c[a>>2]|0;t=a+160|0;o=c[t>>2]|0;b=u+o|0;n=a+32|0;h=c[n>>2]|0;q=a+128|0;s=c[q>>2]|0;m=h+s|0;k=a+64|0;j=c[k>>2]|0;p=a+96|0;r=c[p>>2]|0;e=j+r|0;l=b+e|0;o=u-o|0;s=h-s|0;r=j-r|0;c[a>>2]=((l+m|0)*14564|0)+16384>>15;c[k>>2]=((b-e|0)*17837|0)+16384>>15;c[q>>2]=((l-m-m|0)*10298|0)+16384>>15;q=(o+r|0)*5331|0;c[n>>2]=q+((o+s|0)*14564|0)+16384>>15;c[p>>2]=((o-s-r|0)*14564|0)+16384>>15;c[t>>2]=q+((r-s|0)*14564|0)+16384>>15;a=a+4|0;g=g+1|0}i=f;return}function ih(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;f=i;st(a|0,0,256)|0;g=e+4|0;j=a;h=0;while(1){if((h|0)>=5){g=0;break}l=c[b+(h<<2)>>2]|0;r=d[l+e>>0]|0;m=d[l+g>>0]|0;p=r+m|0;q=d[l+(e+1)>>0]|0;k=d[l+(e+3)>>0]|0;n=q+k|0;l=d[l+(e+2)>>0]|0;o=p+n|0;m=r-m|0;k=q-k|0;c[j>>2]=(o+l<<3)+ -5120;n=(p-n|0)*6476|0;l=(o-(l<<2)|0)*2896|0;c[j+8>>2]=n+l+512>>10;c[j+16>>2]=n-l+512>>10;l=(m+k|0)*6810|0;c[j+4>>2]=l+(m*4209|0)+512>>10;c[j+12>>2]=l+(da(k,-17828)|0)+512>>10;j=j+32|0;h=h+1|0}while(1){if((g|0)>=5)break;h=c[a>>2]|0;p=a+128|0;n=c[p>>2]|0;b=h+n|0;o=a+32|0;j=c[o>>2]|0;r=a+96|0;q=c[r>>2]|0;l=j+q|0;k=a+64|0;m=c[k>>2]|0;e=b+l|0;n=h-n|0;q=j-q|0;c[a>>2]=((e+m|0)*10486|0)+16384>>15;l=(b-l|0)*8290|0;m=(e-(m<<2)|0)*3707|0;c[k>>2]=l+m+16384>>15;c[p>>2]=l-m+16384>>15;p=(n+q|0)*8716|0;c[o>>2]=p+(n*5387|0)+16384>>15;c[r>>2]=p+(da(q,-22820)|0)+16384>>15;a=a+4|0;g=g+1|0}i=f;return}function jh(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;f=i;st(a|0,0,256)|0;g=e+3|0;j=a;h=0;while(1){if((h|0)>=4){g=0;break}k=c[b+(h<<2)>>2]|0;p=d[k+e>>0]|0;m=d[k+g>>0]|0;n=p+m|0;o=d[k+(e+1)>>0]|0;k=d[k+(e+2)>>0]|0;l=o+k|0;m=p-m|0;k=o-k|0;c[j>>2]=(n+l<<4)+ -8192;c[j+8>>2]=n-l<<4;l=((m+k|0)*4433|0)+256|0;c[j+4>>2]=l+(m*6270|0)>>9;c[j+12>>2]=l+(da(k,-15137)|0)>>9;j=j+32|0;h=h+1|0}while(1){if((g|0)>=4)break;j=c[a>>2]|0;p=a+96|0;l=c[p>>2]|0;e=j+l+2|0;m=a+32|0;b=c[m>>2]|0;n=a+64|0;o=c[n>>2]|0;k=b+o|0;l=j-l|0;o=b-o|0;c[a>>2]=e+k>>2;c[n>>2]=e-k>>2;n=((l+o|0)*4433|0)+16384|0;c[m>>2]=n+(l*6270|0)>>15;c[p>>2]=n+(da(o,-15137)|0)>>15;a=a+4|0;g=g+1|0}i=f;return}function kh(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0;f=i;st(a|0,0,256)|0;g=e+2|0;j=a;h=0;while(1){if((h|0)>=3){g=0;break}m=c[b+(h<<2)>>2]|0;l=d[m+e>>0]|0;k=d[m+g>>0]|0;n=l+k|0;m=d[m+(e+1)>>0]|0;c[j>>2]=(n+m<<4)+ -6144;c[j+8>>2]=((n-m-m|0)*5793|0)+256>>9;c[j+4>>2]=((l-k|0)*10033|0)+256>>9;j=j+32|0;h=h+1|0}while(1){if((g|0)>=3)break;l=c[a>>2]|0;k=a+64|0;m=c[k>>2]|0;b=l+m|0;n=a+32|0;e=c[n>>2]|0;c[a>>2]=((b+e|0)*14564|0)+16384>>15;c[k>>2]=((b-e-e|0)*10298|0)+16384>>15;c[n>>2]=((l-m|0)*17837|0)+16384>>15;a=a+4|0;g=g+1|0}i=f;return}function lh(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0;f=i;st(a|0,0,256)|0;g=c[b>>2]|0;j=d[g+e>>0]|0;k=e+1|0;g=d[g+k>>0]|0;h=j+g|0;g=j-g|0;b=c[b+4>>2]|0;j=d[b+e>>0]|0;b=d[b+k>>0]|0;e=j+b|0;b=j-b|0;c[a>>2]=(h+e<<4)+ -8192;c[a+32>>2]=h-e<<4;c[a+4>>2]=g+b<<4;c[a+36>>2]=g-b<<4;i=f;return}function mh(a,b,e){a=a|0;b=b|0;e=e|0;var f=0;f=i;st(a|0,0,256)|0;c[a>>2]=((d[(c[b>>2]|0)+e>>0]|0)<<6)+ -8192;i=f;return}function nh(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;f=i;i=i+32|0;g=f;j=e+8|0;k=0;h=a;while(1){q=c[b+(k<<2)>>2]|0;x=d[q+e>>0]|0;n=d[q+j>>0]|0;s=x+n|0;o=d[q+(e+1)>>0]|0;m=d[q+(e+7)>>0]|0;v=o+m|0;r=d[q+(e+2)>>0]|0;p=d[q+(e+6)>>0]|0;u=r+p|0;w=d[q+(e+3)>>0]|0;l=d[q+(e+5)>>0]|0;t=w+l|0;q=d[q+(e+4)>>0]|0;n=x-n|0;p=r-p|0;l=w-l|0;w=s+u+t|0;r=v+q|0;c[h>>2]=(w+r<<1)+ -2304;c[h+24>>2]=((w-r-r|0)*5793|0)+2048>>12;r=(s-u|0)*10887|0;q=(v-q-q|0)*5793|0;c[h+8>>2]=((u-t|0)*8875|0)+r+q+2048>>12;c[h+16>>2]=((t-s|0)*2012|0)+r-q+2048>>12;c[h+12>>2]=((n-p-l|0)*10033|0)+2048>>12;m=(o-m|0)*10033|0;o=(n+p|0)*7447|0;n=(n+l|0)*3962|0;c[h+4>>2]=m+o+n+2048>>12;l=(p-l|0)*11409|0;c[h+20>>2]=o-m-l+2048>>12;c[h+28>>2]=n-m+l+2048>>12;k=k+1|0;if((k|0)==8){h=g;continue}else if((k|0)==9){e=7;break}h=h+32|0}while(1){if(!((e|0)>-1))break;A=c[a>>2]|0;u=c[g>>2]|0;l=A+u|0;q=a+32|0;s=c[q>>2]|0;x=a+224|0;v=c[x>>2]|0;b=s+v|0;j=a+64|0;y=c[j>>2]|0;m=a+192|0;r=c[m>>2]|0;h=y+r|0;p=a+96|0;z=c[p>>2]|0;t=a+160|0;w=c[t>>2]|0;k=z+w|0;o=a+128|0;n=c[o>>2]|0;u=A-u|0;r=y-r|0;w=z-w|0;z=l+h+k|0;y=b+n|0;c[a>>2]=((z+y|0)*12945|0)+16384>>15;c[m>>2]=((z-y-y|0)*9154|0)+16384>>15;m=(l-h|0)*17203|0;n=(b-n-n|0)*9154|0;c[j>>2]=((h-k|0)*14024|0)+m+n+16384>>15;c[o>>2]=((k-l|0)*3179|0)+m-n+16384>>15;c[p>>2]=((u-r-w|0)*15855|0)+16384>>15;v=(s-v|0)*15855|0;s=(u+r|0)*11768|0;u=(u+w|0)*6262|0;c[q>>2]=v+s+u+16384>>15;w=(r-w|0)*18029|0;c[t>>2]=s-v-w+16384>>15;c[x>>2]=u-v+w+16384>>15;a=a+4|0;e=e+ -1|0;g=g+4|0}i=f;return}function oh(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;f=i;i=i+64|0;g=f;j=e+9|0;k=0;h=a;while(1){q=c[b+(k<<2)>>2]|0;z=d[q+e>>0]|0;r=d[q+j>>0]|0;t=z+r|0;y=d[q+(e+1)>>0]|0;p=d[q+(e+8)>>0]|0;A=y+p|0;x=d[q+(e+2)>>0]|0;l=d[q+(e+7)>>0]|0;n=x+l|0;w=d[q+(e+3)>>0]|0;m=d[q+(e+6)>>0]|0;o=w+m|0;v=d[q+(e+4)>>0]|0;q=d[q+(e+5)>>0]|0;s=v+q|0;u=t+s|0;s=t-s|0;t=A+o|0;o=A-o|0;r=z-r|0;p=y-p|0;l=x-l|0;m=w-m|0;q=v-q|0;c[h>>2]=(u+t+n<<1)+ -2560;n=n<<1;c[h+16>>2]=((u-n|0)*9373|0)+(da(t-n|0,-3580)|0)+2048>>12;n=(s+o|0)*6810|0;c[h+8>>2]=n+(s*4209|0)+2048>>12;c[h+24>>2]=n+(da(o,-17828)|0)+2048>>12;o=r+q|0;n=p-m|0;c[h+20>>2]=o-n-l<<1;l=l<<13;c[h+4>>2]=(r*11443|0)+(p*10323|0)+l+(m*5260|0)+(q*1812|0)+2048>>12;m=((r-q|0)*7791|0)+(da(p+m|0,-4815)|0)|0;l=((o+n|0)*2531|0)+(n<<12)-l|0;c[h+12>>2]=m+l+2048>>12;c[h+28>>2]=m-l+2048>>12;k=k+1|0;if((k|0)==8){h=g;continue}else if((k|0)==10){e=7;break}h=h+32|0}while(1){if(!((e|0)>-1))break;C=c[a>>2]|0;s=c[g+32>>2]|0;l=C+s|0;r=a+32|0;B=c[r>>2]|0;u=c[g>>2]|0;D=B+u|0;o=a+64|0;b=c[o>>2]|0;A=a+224|0;z=c[A>>2]|0;m=b+z|0;x=a+96|0;h=c[x>>2]|0;v=a+192|0;y=c[v>>2]|0;w=h+y|0;p=a+128|0;j=c[p>>2]|0;q=a+160|0;t=c[q>>2]|0;n=j+t|0;k=l+n|0;n=l-n|0;l=D+w|0;w=D-w|0;s=C-s|0;u=B-u|0;z=b-z|0;y=h-y|0;t=j-t|0;c[a>>2]=((k+l+m|0)*10486|0)+16384>>15;m=m<<1;c[p>>2]=((k-m|0)*11997|0)+(da(l-m|0,-4582)|0)+16384>>15;p=(n+w|0)*8716|0;c[o>>2]=p+(n*5387|0)+16384>>15;c[v>>2]=p+(da(w,-22820)|0)+16384>>15;v=s+t|0;w=u-y|0;c[q>>2]=((v-w-z|0)*10486|0)+16384>>15;z=z*10486|0;c[r>>2]=(s*14647|0)+(u*13213|0)+z+(y*6732|0)+(t*2320|0)+16384>>15;y=((s-t|0)*9973|0)+(da(u+y|0,-6163)|0)|0;z=((v+w|0)*3240|0)+(w*5243|0)-z|0;c[x>>2]=y+z+16384>>15;c[A>>2]=y-z+16384>>15;a=a+4|0;e=e+ -1|0;g=g+4|0}i=f;return}function ph(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;f=i;i=i+96|0;g=f;j=e+10|0;k=0;h=a;while(1){u=c[b+(k<<2)>>2]|0;A=d[u+e>>0]|0;p=d[u+j>>0]|0;r=A+p|0;z=d[u+(e+1)>>0]|0;n=d[u+(e+9)>>0]|0;t=z+n|0;y=d[u+(e+2)>>0]|0;m=d[u+(e+8)>>0]|0;s=y+m|0;q=d[u+(e+3)>>0]|0;l=d[u+(e+7)>>0]|0;x=q+l|0;w=d[u+(e+4)>>0]|0;o=d[u+(e+6)>>0]|0;v=w+o|0;u=d[u+(e+5)>>0]|0;p=A-p|0;n=z-n|0;m=y-m|0;l=q-l|0;o=w-o|0;c[h>>2]=(r+t+s+x+v+u<<1)+ -2816;u=u<<1;r=r-u|0;t=t-u|0;s=s-u|0;x=x-u|0;u=v-u|0;v=((r+x|0)*11116|0)+((s+u|0)*1649|0)|0;w=(t-x|0)*7587|0;q=(r-t|0)*9746|0;c[h+8>>2]=v+w+(da(x,-8342)|0)+(da(u,-11395)|0)+2048>>12;c[h+16>>2]=w+q+(t*511|0)+(da(s,-11116)|0)+(u*4813|0)+2048>>12;c[h+24>>2]=v+q+(da(r,-13275)|0)+(da(s,-6461)|0)+2048>>12;s=(p+n|0)*10538|0;r=(p+m|0)*8756|0;q=(p+l|0)*6263|0;v=da(n+m|0,-6263)|0;u=da(n+l|0,-11467)|0;n=s+(v+u+(n*10456|0)+(da(o,-8756)|0))|0;t=(m+l|0)*3264|0;m=r+(v+t+(da(m,-16294)|0)+(o*11467|0))|0;l=q+(u+t+(l*10695|0)+(da(o,-10538)|0))|0;c[h+4>>2]=s+r+q+(da(p,-14090)|0)+(o*3264|0)+2048>>12;c[h+12>>2]=n+2048>>12;c[h+20>>2]=m+2048>>12;c[h+28>>2]=l+2048>>12;k=k+1|0;if((k|0)==8){h=g;continue}else if((k|0)==11){e=7;break}h=h+32|0}while(1){if(!((e|0)>-1))break;D=c[a>>2]|0;s=c[g+64>>2]|0;r=D+s|0;u=a+32|0;C=c[u>>2]|0;v=c[g+32>>2]|0;k=C+v|0;h=a+64|0;B=c[h>>2]|0;x=c[g>>2]|0;q=B+x|0;w=a+96|0;m=c[w>>2]|0;A=a+224|0;z=c[A>>2]|0;b=m+z|0;o=a+128|0;j=c[o>>2]|0;p=a+192|0;t=c[p>>2]|0;n=j+t|0;y=a+160|0;l=c[y>>2]|0;s=D-s|0;v=C-v|0;x=B-x|0;z=m-z|0;t=j-t|0;c[a>>2]=((r+k+q+b+n+l|0)*8666|0)+16384>>15;l=l<<1;r=r-l|0;k=k-l|0;q=q-l|0;b=b-l|0;l=n-l|0;n=((r+b|0)*11759|0)+((q+l|0)*1744|0)|0;j=(k-b|0)*8026|0;m=(r-k|0)*10310|0;c[h>>2]=n+j+(da(b,-8825)|0)+(da(l,-12054)|0)+16384>>15;c[o>>2]=j+m+(k*540|0)+(da(q,-11759)|0)+(l*5091|0)+16384>>15;c[p>>2]=n+m+(da(r,-14043)|0)+(da(q,-6835)|0)+16384>>15;p=(s+v|0)*11148|0;q=(s+x|0)*9262|0;r=(s+z|0)*6626|0;m=da(v+x|0,-6626)|0;n=da(v+z|0,-12131)|0;v=p+(m+n+(v*11061|0)+(da(t,-9262)|0))|0;o=(x+z|0)*3453|0;x=q+(m+o+(da(x,-17237)|0)+(t*12131|0))|0;z=r+(n+o+(z*11314|0)+(da(t,-11148)|0))|0;c[u>>2]=p+q+r+(da(s,-14905)|0)+(t*3453|0)+16384>>15;c[w>>2]=v+16384>>15;c[y>>2]=x+16384>>15;c[A>>2]=z+16384>>15;a=a+4|0;e=e+ -1|0;g=g+4|0}i=f;return}function qh(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;f=i;i=i+128|0;g=f;j=e+11|0;k=0;h=a;while(1){o=c[b+(k<<2)>>2]|0;D=d[o+e>>0]|0;p=d[o+j>>0]|0;l=D+p|0;C=d[o+(e+1)>>0]|0;q=d[o+(e+10)>>0]|0;x=C+q|0;B=d[o+(e+2)>>0]|0;n=d[o+(e+9)>>0]|0;E=B+n|0;A=d[o+(e+3)>>0]|0;t=d[o+(e+8)>>0]|0;s=A+t|0;z=d[o+(e+4)>>0]|0;u=d[o+(e+7)>>0]|0;w=z+u|0;y=d[o+(e+5)>>0]|0;o=d[o+(e+6)>>0]|0;r=y+o|0;v=l+r|0;r=l-r|0;l=x-w|0;m=E+s|0;s=E-s|0;p=D-p|0;q=C-q|0;n=B-n|0;t=A-t|0;u=z-u|0;o=y-o|0;c[h>>2]=v+(x+w)+m+ -1536;c[h+24>>2]=r-l-s;c[h+16>>2]=((v-m|0)*10033|0)+4096>>13;c[h+8>>2]=l-s+((r+s|0)*11190|0)+4096>>13;s=(q+u|0)*4433|0;q=s+(q*6270|0)|0;u=s+(da(u,-15137)|0)|0;s=(p+n|0)*9191|0;r=(p+t|0)*7053|0;l=da(n+t|0,-1512)|0;m=s+(l-u+(da(n,-19165)|0)+(o*7053|0))|0;l=r+(l-q+(t*5946|0)+(da(o,-9191)|0))|0;n=u+((p-t|0)*10703|0)+(da(n+o|0,-4433)|0)|0;c[h+4>>2]=s+r+q+(da(p,-4758)|0)+(o*1512|0)+4096>>13;c[h+12>>2]=n+4096>>13;c[h+20>>2]=m+4096>>13;c[h+28>>2]=l+4096>>13;k=k+1|0;if((k|0)==8){h=g;continue}else if((k|0)==12){e=7;break}h=h+32|0}while(1){if(!((e|0)>-1))break;G=c[a>>2]|0;w=c[g+96>>2]|0;B=G+w|0;y=a+32|0;F=c[y>>2]|0;v=c[g+64>>2]|0;l=F+v|0;t=a+64|0;b=c[t>>2]|0;z=c[g+32>>2]|0;H=b+z|0;A=a+96|0;h=c[A>>2]|0;s=c[g>>2]|0;u=h+s|0;q=a+128|0;j=c[q>>2]|0;E=a+224|0;r=c[E>>2]|0;m=j+r|0;C=a+160|0;k=c[C>>2]|0;n=a+192|0;x=c[n>>2]|0;D=k+x|0;o=B+D|0;D=B-D|0;B=l-m|0;p=H+u|0;u=H-u|0;w=G-w|0;v=F-v|0;z=b-z|0;s=h-s|0;r=j-r|0;x=k-x|0;c[a>>2]=((o+(l+m)+p|0)*7282|0)+8192>>14;c[n>>2]=((D-B-u|0)*7282|0)+8192>>14;c[q>>2]=((o-p|0)*8918|0)+8192>>14;c[t>>2]=((B-u|0)*7282|0)+((D+u|0)*9947|0)+8192>>14;t=(v+r|0)*3941|0;v=t+(v*5573|0)|0;r=t+(da(r,-13455)|0)|0;t=(w+z|0)*8170|0;u=(w+s|0)*6269|0;D=da(z+s|0,-1344)|0;B=t+(D-r+(da(z,-17036)|0)+(x*6269|0))|0;D=u+(D-v+(s*5285|0)+(da(x,-8170)|0))|0;z=r+((w-s|0)*9514|0)+(da(z+x|0,-3941)|0)|0;c[y>>2]=t+u+v+(da(w,-4229)|0)+(x*1344|0)+8192>>14;c[A>>2]=z+8192>>14;c[C>>2]=B+8192>>14;c[E>>2]=D+8192>>14;a=a+4|0;e=e+ -1|0;g=g+4|0}i=f;return}function rh(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;f=i;i=i+160|0;g=f;j=e+12|0;k=0;h=a;while(1){s=c[b+(k<<2)>>2]|0;D=d[s+e>>0]|0;p=d[s+j>>0]|0;x=D+p|0;C=d[s+(e+1)>>0]|0;n=d[s+(e+11)>>0]|0;q=C+n|0;B=d[s+(e+2)>>0]|0;m=d[s+(e+10)>>0]|0;u=B+m|0;A=d[s+(e+3)>>0]|0;t=d[s+(e+9)>>0]|0;v=A+t|0;z=d[s+(e+4)>>0]|0;o=d[s+(e+8)>>0]|0;w=z+o|0;y=d[s+(e+5)>>0]|0;l=d[s+(e+7)>>0]|0;r=y+l|0;s=d[s+(e+6)>>0]|0;p=D-p|0;n=C-n|0;m=B-m|0;t=A-t|0;o=z-o|0;l=y-l|0;c[h>>2]=x+q+u+v+w+r+s+ -1664;s=s<<1;x=x-s|0;q=q-s|0;u=u-s|0;v=v-s|0;w=w-s|0;s=r-s|0;c[h+8>>2]=(x*11249|0)+(q*8672|0)+(u*4108|0)+(da(v,-1396)|0)+(da(w,-6581)|0)+(da(s,-10258)|0)+4096>>13;r=((x-u|0)*9465|0)+(da(v-w|0,-3570)|0)+(da(q-s|0,-2592)|0)|0;s=((x+u|0)*793|0)+(da(v+w|0,-7678)|0)+((q+s|0)*3989|0)|0;c[h+16>>2]=r+s+4096>>13;c[h+24>>2]=r-s+4096>>13;s=(p+n|0)*10832|0;r=(p+m|0)*9534|0;q=((p+t|0)*7682|0)+((o+l|0)*2773|0)|0;w=((o-l|0)*7682|0)+(da(n+m|0,-2773)|0)|0;v=da(n+t|0,-9534)|0;n=s+(w+v+(n*6859|0)+(da(o,-19183)|0))|0;u=da(m+t|0,-5384)|0;m=r+(w+u+(da(m,-12879)|0)+(l*18515|0))|0;l=q+(v+u+(t*18068|0)+(da(l,-14273)|0))|0;c[h+4>>2]=s+r+q+(da(p,-16549)|0)+(o*2611|0)+4096>>13;c[h+12>>2]=n+4096>>13;c[h+20>>2]=m+4096>>13;c[h+28>>2]=l+4096>>13;k=k+1|0;if((k|0)==8){h=g;continue}else if((k|0)==13){e=7;break}h=h+32|0}while(1){if(!((e|0)>-1))break;G=c[a>>2]|0;v=c[g+128>>2]|0;l=G+v|0;x=a+32|0;F=c[x>>2]|0;y=c[g+96>>2]|0;p=F+y|0;u=a+64|0;E=c[u>>2]|0;A=c[g+64>>2]|0;m=E+A|0;z=a+96|0;b=c[z>>2]|0;r=c[g+32>>2]|0;n=b+r|0;o=a+128|0;h=c[o>>2]|0;w=c[g>>2]|0;q=h+w|0;B=a+160|0;j=c[B>>2]|0;D=a+224|0;C=c[D>>2]|0;k=j+C|0;s=a+192|0;t=c[s>>2]|0;v=G-v|0;y=F-y|0;A=E-A|0;r=b-r|0;w=h-w|0;C=j-C|0;c[a>>2]=((l+p+m+n+q+k+t|0)*6205|0)+8192>>14;t=t<<1;l=l-t|0;p=p-t|0;m=m-t|0;n=n-t|0;q=q-t|0;t=k-t|0;c[u>>2]=(l*8520|0)+(p*6568|0)+(m*3112|0)+(da(n,-1058)|0)+(da(q,-4985)|0)+(da(t,-7770)|0)+8192>>14;u=((l-m|0)*7169|0)+(da(n-q|0,-2704)|0)+(da(p-t|0,-1963)|0)|0;t=((l+m|0)*601|0)+(da(n+q|0,-5816)|0)+((p+t|0)*3021|0)|0;c[o>>2]=u+t+8192>>14;c[s>>2]=u-t+8192>>14;s=(v+y|0)*8204|0;t=(v+A|0)*7221|0;u=((v+r|0)*5819|0)+((w+C|0)*2100|0)|0;o=((w-C|0)*5819|0)+(da(y+A|0,-2100)|0)|0;p=da(y+r|0,-7221)|0;y=s+(o+p+(y*5195|0)+(da(w,-14529)|0))|0;q=da(A+r|0,-4078)|0;A=t+(o+q+(da(A,-9754)|0)+(C*14023|0))|0;C=u+(p+q+(r*13685|0)+(da(C,-10811)|0))|0;c[x>>2]=s+t+u+(da(v,-12534)|0)+(w*1978|0)+8192>>14;c[z>>2]=y+8192>>14;c[B>>2]=A+8192>>14;c[D>>2]=C+8192>>14;a=a+4|0;e=e+ -1|0;g=g+4|0}i=f;return}function sh(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;f=i;i=i+192|0;g=f;h=e+13|0;k=0;j=a;while(1){l=c[b+(k<<2)>>2]|0;F=d[l+e>>0]|0;m=d[l+h>>0]|0;x=F+m|0;E=d[l+(e+1)>>0]|0;r=d[l+(e+12)>>0]|0;w=E+r|0;D=d[l+(e+2)>>0]|0;t=d[l+(e+11)>>0]|0;G=D+t|0;C=d[l+(e+3)>>0]|0;n=d[l+(e+10)>>0]|0;u=C+n|0;B=d[l+(e+4)>>0]|0;o=d[l+(e+9)>>0]|0;p=B+o|0;A=d[l+(e+5)>>0]|0;q=d[l+(e+8)>>0]|0;s=A+q|0;z=d[l+(e+6)>>0]|0;l=d[l+(e+7)>>0]|0;v=z+l|0;y=x+v|0;v=x-v|0;x=w+s|0;s=w-s|0;w=G+p|0;p=G-p|0;m=F-m|0;r=E-r|0;t=D-t|0;n=C-n|0;o=B-o|0;q=A-q|0;l=z-l|0;c[j>>2]=y+x+w+u+ -1792;u=u<<1;c[j+16>>2]=((y-u|0)*10438|0)+((x-u|0)*2578|0)+(da(w-u|0,-7223)|0)+4096>>13;u=(v+s|0)*9058|0;c[j+8>>2]=u+(v*2237|0)+(p*5027|0)+4096>>13;c[j+24>>2]=u+(da(s,-14084)|0)+(da(p,-11295)|0)+4096>>13;p=r+t|0;s=q-o|0;c[j+28>>2]=m-p+n-s-l;n=n<<13;s=(da(p,-1297)|0)+((s*11512|0)-n)|0;p=((m+t|0)*9810|0)+((o+l|0)*6164|0)|0;c[j+20>>2]=s+p+(da(t,-19447)|0)+(o*9175|0)+4096>>13;o=((m+r|0)*10935|0)+((q-l|0)*3826|0)|0;c[j+12>>2]=s+o+(da(r,-3474)|0)+(da(q,-25148)|0)+4096>>13;c[j+4>>2]=p+o+n+l+(da(m+l|0,-9232)|0)+4096>>13;k=k+1|0;if((k|0)==14){b=7;break}else if((k|0)==8){j=g;continue}j=j+32|0}while(1){if(!((b|0)>-1))break;I=c[a>>2]|0;E=c[g+160>>2]|0;n=I+E|0;G=a+32|0;H=c[G>>2]|0;y=c[g+128>>2]|0;o=H+y|0;r=a+64|0;h=c[r>>2]|0;v=c[g+96>>2]|0;J=h+v|0;A=a+96|0;j=c[A>>2]|0;D=c[g+64>>2]|0;p=j+D|0;s=a+128|0;e=c[s>>2]|0;w=c[g+32>>2]|0;x=e+w|0;C=a+160|0;k=c[C>>2]|0;z=c[g>>2]|0;t=k+z|0;B=a+192|0;l=c[B>>2]|0;u=a+224|0;F=c[u>>2]|0;q=l+F|0;m=n+q|0;q=n-q|0;n=o+t|0;t=o-t|0;o=J+x|0;x=J-x|0;E=I-E|0;y=H-y|0;v=h-v|0;D=j-D|0;w=e-w|0;z=k-z|0;F=l-F|0;c[a>>2]=((m+n+o+p|0)*5350|0)+8192>>14;p=p<<1;c[s>>2]=((m-p|0)*6817|0)+((n-p|0)*1684|0)+(da(o-p|0,-4717)|0)+8192>>14;s=(q+t|0)*5915|0;c[r>>2]=s+(q*1461|0)+(x*3283|0)+8192>>14;c[B>>2]=s+(da(t,-9198)|0)+(da(x,-7376)|0)+8192>>14;B=y+v|0;x=z-w|0;c[u>>2]=((E-B+D-x-F|0)*5350|0)+8192>>14;D=D*5350|0;x=(da(B,-847)|0)+((x*7518|0)-D)|0;B=((E+v|0)*6406|0)+((w+F|0)*4025|0)|0;c[C>>2]=x+B+(da(v,-12700)|0)+(w*5992|0)+8192>>14;C=((E+y|0)*7141|0)+((z-F|0)*2499|0)|0;c[A>>2]=x+C+(da(y,-2269)|0)+(da(z,-16423)|0)+8192>>14;c[G>>2]=B+C+D+(da(E,-6029)|0)+(da(F,-679)|0)+8192>>14;a=a+4|0;b=b+ -1|0;g=g+4|0}i=f;return}function th(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;f=i;i=i+224|0;g=f;h=e+14|0;k=0;j=a;while(1){l=c[b+(k<<2)>>2]|0;G=d[l+e>>0]|0;q=d[l+h>>0]|0;z=G+q|0;F=d[l+(e+1)>>0]|0;r=d[l+(e+13)>>0]|0;x=F+r|0;E=d[l+(e+2)>>0]|0;p=d[l+(e+12)>>0]|0;u=E+p|0;D=d[l+(e+3)>>0]|0;o=d[l+(e+11)>>0]|0;w=D+o|0;A=d[l+(e+4)>>0]|0;s=d[l+(e+10)>>0]|0;t=A+s|0;B=d[l+(e+5)>>0]|0;n=d[l+(e+9)>>0]|0;y=B+n|0;C=d[l+(e+6)>>0]|0;m=d[l+(e+8)>>0]|0;v=C+m|0;l=d[l+(e+7)>>0]|0;q=G-q|0;r=F-r|0;p=E-p|0;o=D-o|0;s=A-s|0;n=B-n|0;m=C-m|0;C=z+t+y|0;B=x+w+v|0;A=u+l|0;c[j>>2]=C+B+A+ -1920;A=A<<1;c[j+24>>2]=((C-A|0)*9373|0)+(da(B-A|0,-3580)|0)+4096>>13;l=u+(((x+t|0)>>>1)-l-l)|0;u=((y-l|0)*6541|0)+(da(z-l|0,-748)|0)|0;t=((z-w|0)*11332|0)+((v-y|0)*7752|0)+((x-t|0)*6476|0)|0;c[j+8>>2]=((w-l|0)*12543|0)+(da(v-l|0,-18336)|0)+t+4096>>13;c[j+16>>2]=u+t+4096>>13;t=p*10033|0;u=((q-m|0)*11522|0)+((r+s|0)*11018|0)+((o+n|0)*4712|0)|0;l=(da(q,-2912)|0)+(da(r,-17828)|0)+(da(n,-7121)|0)+u-t|0;c[j+4>>2]=(o*3897|0)+(da(s,-4209)|0)+(m*13930|0)+u+t+4096>>13;c[j+12>>2]=((q-s-n|0)*11018|0)+((r-o-m|0)*6810|0)+4096>>13;c[j+20>>2]=((q-p-o+n+m|0)*10033|0)+4096>>13;c[j+28>>2]=l+4096>>13;k=k+1|0;if((k|0)==15){b=7;break}else if((k|0)==8){j=g;continue}j=j+32|0}while(1){if(!((b|0)>-1))break;J=c[a>>2]|0;z=c[g+192>>2]|0;m=J+z|0;v=a+32|0;I=c[v>>2]|0;x=c[g+160>>2]|0;o=I+x|0;s=a+64|0;H=c[s>>2]|0;A=c[g+128>>2]|0;F=H+A|0;y=a+96|0;h=c[y>>2]|0;B=c[g+96>>2]|0;p=h+B|0;u=a+128|0;k=c[u>>2]|0;w=c[g+64>>2]|0;t=k+w|0;E=a+160|0;e=c[E>>2]|0;C=c[g+32>>2]|0;n=e+C|0;l=a+192|0;j=c[l>>2]|0;D=c[g>>2]|0;q=j+D|0;G=a+224|0;r=c[G>>2]|0;z=J-z|0;x=I-x|0;A=H-A|0;B=h-B|0;w=k-w|0;C=e-C|0;D=j-D|0;j=m+t+n|0;e=o+p+q|0;k=F+r|0;c[a>>2]=((j+e+k|0)*9321|0)+16384>>15;k=k<<1;c[l>>2]=((j-k|0)*10664|0)+(da(e-k|0,-4073)|0)+16384>>15;r=F+((o+t>>1)-r-r)|0;F=((n-r|0)*7442|0)+(da(m-r|0,-852)|0)|0;t=((m-p|0)*12893|0)+((q-n|0)*8820|0)+((o-t|0)*7369|0)|0;c[s>>2]=((p-r|0)*14271|0)+(da(q-r|0,-20862)|0)+t+16384>>15;c[u>>2]=F+t+16384>>15;u=A*11415|0;t=((z-D|0)*13109|0)+((x+w|0)*12536|0)+((B+C|0)*5361|0)|0;F=(da(z,-3314)|0)+(da(x,-20284)|0)+(da(C,-8102)|0)+t-u|0;c[v>>2]=(B*4434|0)+(da(w,-4788)|0)+(D*15850|0)+t+u+16384>>15;c[y>>2]=((z-w-C|0)*12536|0)+((x-B-D|0)*7748|0)+16384>>15;c[E>>2]=((z-A-B+C+D|0)*11415|0)+16384>>15;c[G>>2]=F+16384>>15;a=a+4|0;b=b+ -1|0;g=g+4|0}i=f;return}function uh(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;f=i;i=i+256|0;g=f;j=e+15|0;k=0;h=a;while(1){s=c[b+(k<<2)>>2]|0;I=d[s+e>>0]|0;t=d[s+j>>0]|0;n=I+t|0;H=d[s+(e+1)>>0]|0;y=d[s+(e+14)>>0]|0;p=H+y|0;G=d[s+(e+2)>>0]|0;w=d[s+(e+13)>>0]|0;z=G+w|0;F=d[s+(e+3)>>0]|0;m=d[s+(e+12)>>0]|0;J=F+m|0;E=d[s+(e+4)>>0]|0;l=d[s+(e+11)>>0]|0;v=E+l|0;D=d[s+(e+5)>>0]|0;q=d[s+(e+10)>>0]|0;x=D+q|0;C=d[s+(e+6)>>0]|0;r=d[s+(e+9)>>0]|0;o=C+r|0;B=d[s+(e+7)>>0]|0;s=d[s+(e+8)>>0]|0;u=B+s|0;A=n+u|0;u=n-u|0;n=p+o|0;o=p-o|0;p=z+x|0;x=z-x|0;z=J+v|0;v=J-v|0;t=I-t|0;y=H-y|0;w=G-w|0;m=F-m|0;l=E-l|0;q=D-q|0;r=C-r|0;s=B-s|0;c[h>>2]=(A+n+p+z<<2)+ -8192;c[h+16>>2]=((A-z|0)*10703|0)+((n-p|0)*4433|0)+1024>>11;p=((v-o|0)*2260|0)+((u-x|0)*11363|0)|0;c[h+8>>2]=p+(o*11893|0)+(x*17799|0)+1024>>11;c[h+24>>2]=p+(da(u,-1730)|0)+(da(v,-8697)|0)+1024>>11;v=((t+y|0)*11086|0)+((r-s|0)*3363|0)|0;u=((t+w|0)*10217|0)+((q+s|0)*5461|0)|0;p=((t+m|0)*8956|0)+((l-s|0)*7350|0)|0;x=((y+w|0)*1136|0)+((r-q|0)*11529|0)|0;o=(da(y+m|0,-5461)|0)+(da(l+r|0,-10217)|0)|0;n=(da(w+m|0,-11086)|0)+((q-l|0)*3363|0)|0;r=v+(x+o+(y*589|0)+(da(r,-13631)|0))|0;q=u+(x+n+(da(w,-9222)|0)+(q*10055|0))|0;c[h+4>>2]=v+u+p+(da(t,-18730)|0)+(s*6387|0)+1024>>11;c[h+12>>2]=r+1024>>11;c[h+20>>2]=q+1024>>11;c[h+28>>2]=p+(o+n+(m*8728|0)+(l*17760|0))+1024>>11;k=k+1|0;if((k|0)==8){h=g;continue}else if((k|0)==16){e=7;break}h=h+32|0}while(1){if(!((e|0)>-1))break;L=c[a>>2]|0;x=c[g+224>>2]|0;p=L+x|0;z=a+32|0;K=c[z>>2]|0;s=c[g+192>>2]|0;q=K+s|0;F=a+64|0;b=c[F>>2]|0;u=c[g+160>>2]|0;o=b+u|0;B=a+96|0;h=c[B>>2]|0;H=c[g+128>>2]|0;M=h+H|0;t=a+128|0;j=c[t>>2]|0;I=c[g+96>>2]|0;w=j+I|0;D=a+160|0;k=c[D>>2]|0;C=c[g+64>>2]|0;G=k+C|0;v=a+192|0;l=c[v>>2]|0;A=c[g+32>>2]|0;r=l+A|0;J=a+224|0;m=c[J>>2]|0;y=c[g>>2]|0;E=m+y|0;n=p+E|0;E=p-E|0;p=q+r|0;r=q-r|0;q=o+G|0;G=o-G|0;o=M+w|0;w=M-w|0;x=L-x|0;s=K-s|0;u=b-u|0;H=h-H|0;I=j-I|0;C=k-C|0;A=l-A|0;y=m-y|0;c[a>>2]=n+p+q+o+8>>4;c[t>>2]=((n-o|0)*10703|0)+((p-q|0)*4433|0)+65536>>17;t=((w-r|0)*2260|0)+((E-G|0)*11363|0)|0;c[F>>2]=t+(r*11893|0)+(G*17799|0)+65536>>17;c[v>>2]=t+(da(E,-1730)|0)+(da(w,-8697)|0)+65536>>17;v=((x+s|0)*11086|0)+((A-y|0)*3363|0)|0;w=((x+u|0)*10217|0)+((C+y|0)*5461|0)|0;E=((x+H|0)*8956|0)+((I-y|0)*7350|0)|0;t=((s+u|0)*1136|0)+((A-C|0)*11529|0)|0;F=(da(s+H|0,-5461)|0)+(da(I+A|0,-10217)|0)|0;G=(da(u+H|0,-11086)|0)+((C-I|0)*3363|0)|0;A=v+(t+F+(s*589|0)+(da(A,-13631)|0))|0;C=w+(t+G+(da(u,-9222)|0)+(C*10055|0))|0;c[z>>2]=v+w+E+(da(x,-18730)|0)+(y*6387|0)+65536>>17;c[B>>2]=A+65536>>17;c[D>>2]=C+65536>>17;c[J>>2]=E+(F+G+(H*8728|0)+(I*17760|0))+65536>>17;a=a+4|0;e=e+ -1|0;g=g+4|0}i=f;return}function vh(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0;f=i;g=e+15|0;j=a;h=0;while(1){if((h|0)>=8){g=7;break}r=c[b+(h<<2)>>2]|0;H=d[r+e>>0]|0;s=d[r+g>>0]|0;m=H+s|0;G=d[r+(e+1)>>0]|0;x=d[r+(e+14)>>0]|0;o=G+x|0;F=d[r+(e+2)>>0]|0;v=d[r+(e+13)>>0]|0;y=F+v|0;E=d[r+(e+3)>>0]|0;l=d[r+(e+12)>>0]|0;I=E+l|0;D=d[r+(e+4)>>0]|0;k=d[r+(e+11)>>0]|0;u=D+k|0;C=d[r+(e+5)>>0]|0;p=d[r+(e+10)>>0]|0;w=C+p|0;B=d[r+(e+6)>>0]|0;q=d[r+(e+9)>>0]|0;n=B+q|0;A=d[r+(e+7)>>0]|0;r=d[r+(e+8)>>0]|0;t=A+r|0;z=m+t|0;t=m-t|0;m=o+n|0;n=o-n|0;o=y+w|0;w=y-w|0;y=I+u|0;u=I-u|0;s=H-s|0;x=G-x|0;v=F-v|0;l=E-l|0;k=D-k|0;p=C-p|0;q=B-q|0;r=A-r|0;c[j>>2]=(z+m+o+y<<2)+ -8192;c[j+16>>2]=((z-y|0)*10703|0)+((m-o|0)*4433|0)+1024>>11;o=((u-n|0)*2260|0)+((t-w|0)*11363|0)|0;c[j+8>>2]=o+(n*11893|0)+(w*17799|0)+1024>>11;c[j+24>>2]=o+(da(t,-1730)|0)+(da(u,-8697)|0)+1024>>11;u=((s+x|0)*11086|0)+((q-r|0)*3363|0)|0;t=((s+v|0)*10217|0)+((p+r|0)*5461|0)|0;o=((s+l|0)*8956|0)+((k-r|0)*7350|0)|0;w=((x+v|0)*1136|0)+((q-p|0)*11529|0)|0;n=(da(x+l|0,-5461)|0)+(da(k+q|0,-10217)|0)|0;m=(da(v+l|0,-11086)|0)+((p-k|0)*3363|0)|0;q=u+(w+n+(x*589|0)+(da(q,-13631)|0))|0;p=t+(w+m+(da(v,-9222)|0)+(p*10055|0))|0;c[j+4>>2]=u+t+o+(da(s,-18730)|0)+(r*6387|0)+1024>>11;c[j+12>>2]=q+1024>>11;c[j+20>>2]=p+1024>>11;c[j+28>>2]=o+(n+m+(l*8728|0)+(k*17760|0))+1024>>11;j=j+32|0;h=h+1|0}while(1){if(!((g|0)>-1))break;q=c[a>>2]|0;I=a+224|0;x=c[I>>2]|0;v=q+x|0;y=a+32|0;r=c[y>>2]|0;D=a+192|0;z=c[D>>2]|0;p=r+z|0;C=a+64|0;s=c[C>>2]|0;E=a+160|0;B=c[E>>2]|0;G=s+B|0;A=a+96|0;t=c[A>>2]|0;H=a+128|0;F=c[H>>2]|0;w=t+F|0;u=v+w|0;w=v-w|0;v=p+G|0;G=p-G|0;x=q-x|0;z=r-z|0;B=s-B|0;F=t-F|0;c[a>>2]=u+v+4>>3;c[H>>2]=u-v+4>>3;H=(w+G|0)*4433|0;c[C>>2]=H+(w*6270|0)+32768>>16;c[D>>2]=H+(da(G,-15137)|0)+32768>>16;D=x+B|0;G=z+F|0;H=(D+G|0)*9633|0;D=(da(D,-3196)|0)+H|0;H=(da(G,-16069)|0)+H|0;G=da(x+F|0,-7373)|0;C=da(z+B|0,-20995)|0;c[y>>2]=(x*12299|0)+(G+D)+32768>>16;c[A>>2]=(z*25172|0)+(C+H)+32768>>16;c[E>>2]=(B*16819|0)+(C+D)+32768>>16;c[I>>2]=(F*2446|0)+(G+H)+32768>>16;a=a+4|0;g=g+ -1|0}i=f;return}function wh(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0;g=i;h=b+224|0;j=h+32|0;do{a[h>>0]=0;h=h+1|0}while((h|0)<(j|0));h=f+13|0;k=b;j=0;while(1){if((j|0)>=7){e=7;break}l=c[e+(j<<2)>>2]|0;F=d[l+f>>0]|0;m=d[l+h>>0]|0;x=F+m|0;E=d[l+(f+1)>>0]|0;r=d[l+(f+12)>>0]|0;w=E+r|0;D=d[l+(f+2)>>0]|0;t=d[l+(f+11)>>0]|0;G=D+t|0;C=d[l+(f+3)>>0]|0;n=d[l+(f+10)>>0]|0;u=C+n|0;B=d[l+(f+4)>>0]|0;o=d[l+(f+9)>>0]|0;p=B+o|0;A=d[l+(f+5)>>0]|0;q=d[l+(f+8)>>0]|0;s=A+q|0;z=d[l+(f+6)>>0]|0;l=d[l+(f+7)>>0]|0;v=z+l|0;y=x+v|0;v=x-v|0;x=w+s|0;s=w-s|0;w=G+p|0;p=G-p|0;m=F-m|0;r=E-r|0;t=D-t|0;n=C-n|0;o=B-o|0;q=A-q|0;l=z-l|0;c[k>>2]=(y+x+w+u<<2)+ -7168;u=u<<1;c[k+16>>2]=((y-u|0)*10438|0)+((x-u|0)*2578|0)+(da(w-u|0,-7223)|0)+1024>>11;u=(v+s|0)*9058|0;c[k+8>>2]=u+(v*2237|0)+(p*5027|0)+1024>>11;c[k+24>>2]=u+(da(s,-14084)|0)+(da(p,-11295)|0)+1024>>11;p=r+t|0;s=q-o|0;c[k+28>>2]=m-p+n-s-l<<2;n=n<<13;s=(da(p,-1297)|0)+((s*11512|0)-n)|0;p=((m+t|0)*9810|0)+((o+l|0)*6164|0)|0;c[k+20>>2]=s+p+(da(t,-19447)|0)+(o*9175|0)+1024>>11;o=((m+r|0)*10935|0)+((q-l|0)*3826|0)|0;c[k+12>>2]=s+o+(da(r,-3474)|0)+(da(q,-25148)|0)+1024>>11;c[k+4>>2]=p+o+n+l+(da(m+l|0,-9232)|0)+1024>>11;k=k+32|0;j=j+1|0}while(1){if(!((e|0)>-1))break;r=c[b>>2]|0;A=b+192|0;E=c[A>>2]|0;B=r+E|0;z=b+32|0;y=c[z>>2]|0;G=b+160|0;D=c[G>>2]|0;u=y+D|0;s=b+64|0;x=c[s>>2]|0;w=b+128|0;F=c[w>>2]|0;t=x+F|0;C=b+96|0;v=c[C>>2]|0;E=r-E|0;D=y-D|0;F=x-F|0;x=B+t|0;c[b>>2]=((x+u+v|0)*10700|0)+32768>>16;v=v<<1;x=(x-v-v|0)*3783|0;y=(B-t|0)*9850|0;t=(u-t|0)*3367|0;c[s>>2]=x+y+t+32768>>16;B=(B-u|0)*9434|0;c[w>>2]=B+t+(da(u-v|0,-7566)|0)+32768>>16;c[A>>2]=x-y+B+32768>>16;A=(E+D|0)*10009|0;B=(E-D|0)*1822|0;D=da(D+F|0,-14752)|0;E=(E+F|0)*6565|0;c[z>>2]=A-B+E+32768>>16;c[C>>2]=A+B+D+32768>>16;c[G>>2]=D+(E+(F*20017|0))+32768>>16;b=b+4|0;e=e+ -1|0}i=g;return}function xh(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;g=i;h=b+192|0;j=h+64|0;do{a[h>>0]=0;h=h+1|0}while((h|0)<(j|0));h=f+11|0;k=b;j=0;while(1){if((j|0)>=6){e=7;break}o=c[e+(j<<2)>>2]|0;D=d[o+f>>0]|0;p=d[o+h>>0]|0;l=D+p|0;C=d[o+(f+1)>>0]|0;q=d[o+(f+10)>>0]|0;x=C+q|0;B=d[o+(f+2)>>0]|0;n=d[o+(f+9)>>0]|0;E=B+n|0;A=d[o+(f+3)>>0]|0;t=d[o+(f+8)>>0]|0;s=A+t|0;z=d[o+(f+4)>>0]|0;u=d[o+(f+7)>>0]|0;w=z+u|0;y=d[o+(f+5)>>0]|0;o=d[o+(f+6)>>0]|0;r=y+o|0;v=l+r|0;r=l-r|0;l=x-w|0;m=E+s|0;s=E-s|0;p=D-p|0;q=C-q|0;n=B-n|0;t=A-t|0;u=z-u|0;o=y-o|0;c[k>>2]=(v+(x+w)+m<<2)+ -6144;c[k+24>>2]=r-l-s<<2;c[k+16>>2]=((v-m|0)*10033|0)+1024>>11;c[k+8>>2]=l-s+((r+s|0)*11190|0)+1024>>11;s=(q+u|0)*4433|0;q=s+(q*6270|0)|0;u=s+(da(u,-15137)|0)|0;s=(p+n|0)*9191|0;r=(p+t|0)*7053|0;l=da(n+t|0,-1512)|0;m=s+(l-u+(da(n,-19165)|0)+(o*7053|0))|0;l=r+(l-q+(t*5946|0)+(da(o,-9191)|0))|0;n=u+((p-t|0)*10703|0)+(da(n+o|0,-4433)|0)|0;c[k+4>>2]=s+r+q+(da(p,-4758)|0)+(o*1512|0)+1024>>11;c[k+12>>2]=n+1024>>11;c[k+20>>2]=m+1024>>11;c[k+28>>2]=l+1024>>11;k=k+32|0;j=j+1|0}while(1){if(!((e|0)>-1))break;q=c[b>>2]|0;E=b+160|0;z=c[E>>2]|0;t=q+z|0;y=b+32|0;r=c[y>>2]|0;B=b+128|0;D=c[B>>2]|0;x=r+D|0;v=b+64|0;s=c[v>>2]|0;A=b+96|0;C=c[A>>2]|0;u=s+C|0;w=t+u|0;z=q-z|0;D=r-D|0;C=s-C|0;c[b>>2]=((w+x|0)*14564|0)+32768>>16;c[v>>2]=((t-u|0)*17837|0)+32768>>16;c[B>>2]=((w-x-x|0)*10298|0)+32768>>16;B=(z+C|0)*5331|0;c[y>>2]=B+((z+D|0)*14564|0)+32768>>16;c[A>>2]=((z-D-C|0)*14564|0)+32768>>16;c[E>>2]=B+((C-D|0)*14564|0)+32768>>16;b=b+4|0;e=e+ -1|0}i=g;return}function yh(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0;g=i;h=b+160|0;j=h+96|0;do{a[h>>0]=0;h=h+1|0}while((h|0)<(j|0));h=f+9|0;k=b;j=0;while(1){if((j|0)>=5){e=7;break}q=c[e+(j<<2)>>2]|0;z=d[q+f>>0]|0;r=d[q+h>>0]|0;t=z+r|0;y=d[q+(f+1)>>0]|0;p=d[q+(f+8)>>0]|0;A=y+p|0;x=d[q+(f+2)>>0]|0;l=d[q+(f+7)>>0]|0;n=x+l|0;w=d[q+(f+3)>>0]|0;m=d[q+(f+6)>>0]|0;o=w+m|0;v=d[q+(f+4)>>0]|0;q=d[q+(f+5)>>0]|0;s=v+q|0;u=t+s|0;s=t-s|0;t=A+o|0;o=A-o|0;r=z-r|0;p=y-p|0;l=x-l|0;m=w-m|0;q=v-q|0;c[k>>2]=(u+t+n<<2)+ -5120;n=n<<1;c[k+16>>2]=((u-n|0)*9373|0)+(da(t-n|0,-3580)|0)+1024>>11;n=(s+o|0)*6810|0;c[k+8>>2]=n+(s*4209|0)+1024>>11;c[k+24>>2]=n+(da(o,-17828)|0)+1024>>11;o=r+q|0;n=p-m|0;c[k+20>>2]=o-n-l<<2;l=l<<13;c[k+4>>2]=(r*11443|0)+(p*10323|0)+l+(m*5260|0)+(q*1812|0)+1024>>11;m=((r-q|0)*7791|0)+(da(p+m|0,-4815)|0)|0;l=((o+n|0)*2531|0)+(n<<12)-l|0;c[k+12>>2]=m+l+1024>>11;c[k+28>>2]=m-l+1024>>11;k=k+32|0;j=j+1|0}while(1){if(!((e|0)>-1))break;p=c[b>>2]|0;y=b+128|0;w=c[y>>2]|0;r=p+w|0;x=b+32|0;q=c[x>>2]|0;A=b+96|0;z=c[A>>2]|0;u=q+z|0;t=b+64|0;v=c[t>>2]|0;s=r+u|0;w=p-w|0;z=q-z|0;c[b>>2]=((s+v|0)*10486|0)+16384>>15;u=(r-u|0)*8290|0;v=(s-(v<<2)|0)*3707|0;c[t>>2]=u+v+16384>>15;c[y>>2]=u-v+16384>>15;y=(w+z|0)*8716|0;c[x>>2]=y+(w*5387|0)+16384>>15;c[A>>2]=y+(da(z,-22820)|0)+16384>>15;b=b+4|0;e=e+ -1|0}i=g;return}function zh(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;g=i;h=b+128|0;j=h+128|0;do{a[h>>0]=0;h=h+1|0}while((h|0)<(j|0));h=f+7|0;k=b;j=0;while(1){if((j|0)>=4){e=7;break}n=c[e+(j<<2)>>2]|0;w=d[n+f>>0]|0;s=d[n+h>>0]|0;m=w+s|0;v=d[n+(f+1)>>0]|0;r=d[n+(f+6)>>0]|0;x=v+r|0;u=d[n+(f+2)>>0]|0;q=d[n+(f+5)>>0]|0;o=u+q|0;t=d[n+(f+3)>>0]|0;n=d[n+(f+4)>>0]|0;l=t+n|0;p=m+l|0;l=m-l|0;m=x+o|0;o=x-o|0;s=w-s|0;r=v-r|0;q=u-q|0;n=t-n|0;c[k>>2]=(p+m<<3)+ -8192;c[k+16>>2]=p-m<<3;m=((l+o|0)*4433|0)+512|0;c[k+8>>2]=m+(l*6270|0)>>10;c[k+24>>2]=m+(da(o,-15137)|0)>>10;o=s+q|0;m=r+n|0;l=((o+m|0)*9633|0)+512|0;o=(da(o,-3196)|0)+l|0;l=(da(m,-16069)|0)+l|0;m=da(s+n|0,-7373)|0;p=da(r+q|0,-20995)|0;c[k+4>>2]=(s*12299|0)+(m+o)>>10;c[k+12>>2]=(r*25172|0)+(p+l)>>10;c[k+20>>2]=(q*16819|0)+(p+o)>>10;c[k+28>>2]=(n*2446|0)+(m+l)>>10;k=k+32|0;j=j+1|0}while(1){if(!((e|0)>-1))break;p=c[b>>2]|0;x=b+96|0;t=c[x>>2]|0;r=p+t+2|0;u=b+32|0;q=c[u>>2]|0;v=b+64|0;w=c[v>>2]|0;s=q+w|0;t=p-t|0;w=q-w|0;c[b>>2]=r+s>>2;c[v>>2]=r-s>>2;v=((t+w|0)*4433|0)+16384|0;c[u>>2]=v+(t*6270|0)>>15;c[x>>2]=v+(da(w,-15137)|0)>>15;b=b+4|0;e=e+ -1|0}i=g;return}function Ah(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;f=i;st(a|0,0,256)|0;g=e+5|0;j=a;h=0;while(1){if((h|0)>=3){g=0;break}l=c[b+(h<<2)>>2]|0;t=d[l+e>>0]|0;n=d[l+g>>0]|0;q=t+n|0;s=d[l+(e+1)>>0]|0;k=d[l+(e+4)>>0]|0;m=s+k|0;r=d[l+(e+2)>>0]|0;l=d[l+(e+3)>>0]|0;p=r+l|0;o=q+p|0;n=t-n|0;k=s-k|0;l=r-l|0;c[j>>2]=(o+m<<3)+ -6144;c[j+8>>2]=((q-p|0)*10033|0)+512>>10;c[j+16>>2]=((o-m-m|0)*5793|0)+512>>10;m=((n+l|0)*2998|0)+512>>10;c[j+4>>2]=m+(n+k<<3);c[j+12>>2]=n-k-l<<3;c[j+20>>2]=m+(l-k<<3);j=j+32|0;h=h+1|0}while(1){if((g|0)>=6)break;r=c[a>>2]|0;q=a+64|0;s=c[q>>2]|0;o=r+s|0;t=a+32|0;p=c[t>>2]|0;c[a>>2]=((o+p|0)*14564|0)+16384>>15;c[q>>2]=((o-p-p|0)*10298|0)+16384>>15;c[t>>2]=((r-s|0)*17837|0)+16384>>15;a=a+4|0;g=g+1|0}i=f;return}function Bh(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;f=i;st(a|0,0,256)|0;g=e+3|0;j=a;h=0;while(1){if((h|0)>=2){g=0;break}k=c[b+(h<<2)>>2]|0;p=d[k+e>>0]|0;m=d[k+g>>0]|0;n=p+m|0;o=d[k+(e+1)>>0]|0;k=d[k+(e+2)>>0]|0;l=o+k|0;m=p-m|0;k=o-k|0;c[j>>2]=(n+l<<5)+ -16384;c[j+8>>2]=n-l<<5;l=((m+k|0)*4433|0)+128|0;c[j+4>>2]=l+(m*6270|0)>>8;c[j+12>>2]=l+(da(k,-15137)|0)>>8;j=j+32|0;h=h+1|0}while(1){if((g|0)>=4)break;n=(c[a>>2]|0)+2|0;p=a+32|0;o=c[p>>2]|0;c[a>>2]=n+o>>2;c[p>>2]=n-o>>2;a=a+4|0;g=g+1|0}i=f;return}function Ch(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0;f=i;st(a|0,0,256)|0;b=c[b>>2]|0;g=d[b+e>>0]|0;b=d[b+(e+1)>>0]|0;c[a>>2]=(g+b<<5)+ -8192;c[a+4>>2]=g-b<<5;i=f;return}function Dh(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0;f=i;i=i+256|0;g=f;h=e+7|0;k=0;j=a;while(1){n=c[b+(k<<2)>>2]|0;w=d[n+e>>0]|0;s=d[n+h>>0]|0;m=w+s|0;v=d[n+(e+1)>>0]|0;r=d[n+(e+6)>>0]|0;x=v+r|0;u=d[n+(e+2)>>0]|0;q=d[n+(e+5)>>0]|0;o=u+q|0;t=d[n+(e+3)>>0]|0;n=d[n+(e+4)>>0]|0;l=t+n|0;p=m+l|0;l=m-l|0;m=x+o|0;o=x-o|0;s=w-s|0;r=v-r|0;q=u-q|0;n=t-n|0;c[j>>2]=(p+m<<2)+ -4096;c[j+16>>2]=p-m<<2;m=(l+o|0)*4433|0;c[j+8>>2]=m+(l*6270|0)+1024>>11;c[j+24>>2]=m+(da(o,-15137)|0)+1024>>11;o=s+q|0;m=r+n|0;l=(o+m|0)*9633|0;o=(da(o,-3196)|0)+l|0;l=(da(m,-16069)|0)+l|0;m=da(s+n|0,-7373)|0;p=da(r+q|0,-20995)|0;c[j+4>>2]=(s*12299|0)+(m+o)+1024>>11;c[j+12>>2]=(r*25172|0)+(p+l)+1024>>11;c[j+20>>2]=(q*16819|0)+(p+o)+1024>>11;c[j+28>>2]=(n*2446|0)+(m+l)+1024>>11;k=k+1|0;if((k|0)==16){b=7;break}else if((k|0)==8){j=g;continue}j=j+32|0}while(1){if(!((b|0)>-1))break;L=c[a>>2]|0;l=c[g+224>>2]|0;B=L+l|0;n=a+32|0;K=c[n>>2]|0;y=c[g+192>>2]|0;A=K+y|0;t=a+64|0;J=c[t>>2]|0;j=c[g+160>>2]|0;C=J+j|0;p=a+96|0;I=c[p>>2]|0;v=c[g+128>>2]|0;M=I+v|0;h=a+128|0;H=c[h>>2]|0;w=c[g+96>>2]|0;k=H+w|0;r=a+160|0;G=c[r>>2]|0;q=c[g+64>>2]|0;u=G+q|0;e=a+192|0;F=c[e>>2]|0;o=c[g+32>>2]|0;z=F+o|0;x=a+224|0;E=c[x>>2]|0;m=c[g>>2]|0;s=E+m|0;D=B+s|0;s=B-s|0;B=A+z|0;z=A-z|0;A=C+u|0;u=C-u|0;C=M+k|0;k=M-k|0;l=L-l|0;y=K-y|0;j=J-j|0;v=I-v|0;w=H-w|0;q=G-q|0;o=F-o|0;m=E-m|0;c[a>>2]=D+B+A+C+4>>3;c[h>>2]=((D-C|0)*10703|0)+((B-A|0)*4433|0)+32768>>16;h=((k-z|0)*2260|0)+((s-u|0)*11363|0)|0;c[t>>2]=h+(z*11893|0)+(u*17799|0)+32768>>16;c[e>>2]=h+(da(s,-1730)|0)+(da(k,-8697)|0)+32768>>16;e=((l+y|0)*11086|0)+((o-m|0)*3363|0)|0;k=((l+j|0)*10217|0)+((q+m|0)*5461|0)|0;s=((l+v|0)*8956|0)+((w-m|0)*7350|0)|0;h=((y+j|0)*1136|0)+((o-q|0)*11529|0)|0;t=(da(y+v|0,-5461)|0)+(da(w+o|0,-10217)|0)|0;u=(da(j+v|0,-11086)|0)+((q-w|0)*3363|0)|0;o=e+(h+t+(y*589|0)+(da(o,-13631)|0))|0;q=k+(h+u+(da(j,-9222)|0)+(q*10055|0))|0;c[n>>2]=e+k+s+(da(l,-18730)|0)+(m*6387|0)+32768>>16;c[p>>2]=o+32768>>16;c[r>>2]=q+32768>>16;c[x>>2]=s+(t+u+(v*8728|0)+(w*17760|0))+32768>>16;a=a+4|0;b=b+ -1|0;g=g+4|0}i=f;return}function Eh(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0;f=i;i=i+192|0;g=f;st(a|0,0,256)|0;j=e+6|0;k=0;h=a;while(1){r=c[b+(k<<2)>>2]|0;u=d[r+e>>0]|0;m=d[r+j>>0]|0;p=u+m|0;o=d[r+(e+1)>>0]|0;n=d[r+(e+5)>>0]|0;s=o+n|0;q=d[r+(e+2)>>0]|0;l=d[r+(e+4)>>0]|0;t=q+l|0;r=d[r+(e+3)>>0]|0;m=u-m|0;n=o-n|0;l=q-l|0;q=p+t|0;c[h>>2]=(q+s+r<<2)+ -3584;r=r<<1;q=(q-r-r|0)*2896|0;o=(p-t|0)*7542|0;t=(s-t|0)*2578|0;c[h+8>>2]=q+o+t+1024>>11;p=(p-s|0)*7223|0;c[h+16>>2]=p+t+(da(s-r|0,-5793)|0)+1024>>11;c[h+24>>2]=q-o+p+1024>>11;p=(m+n|0)*7663|0;o=(m-n|0)*1395|0;n=da(n+l|0,-11295)|0;m=(m+l|0)*5027|0;c[h+4>>2]=p-o+m+1024>>11;c[h+12>>2]=p+o+n+1024>>11;c[h+20>>2]=n+(m+(l*15326|0))+1024>>11;k=k+1|0;if((k|0)==8){h=g;continue}else if((k|0)==14){e=0;break}h=h+32|0}while(1){if((e|0)>=7)break;I=c[a>>2]|0;s=c[g+160>>2]|0;A=I+s|0;u=a+32|0;H=c[u>>2]|0;m=c[g+128>>2]|0;z=H+m|0;w=a+64|0;G=c[w>>2]|0;j=c[g+96>>2]|0;J=G+j|0;o=a+96|0;F=c[o>>2]|0;r=c[g+64>>2]|0;y=F+r|0;v=a+128|0;E=c[v>>2]|0;k=c[g+32>>2]|0;l=E+k|0;q=a+160|0;D=c[q>>2]|0;n=c[g>>2]|0;b=D+n|0;p=a+192|0;C=c[p>>2]|0;h=a+224|0;t=c[h>>2]|0;x=C+t|0;B=A+x|0;x=A-x|0;A=z+b|0;b=z-b|0;z=J+l|0;l=J-l|0;s=I-s|0;m=H-m|0;j=G-j|0;r=F-r|0;k=E-k|0;n=D-n|0;t=C-t|0;c[a>>2]=((B+A+z+y|0)*5350|0)+16384>>15;y=y<<1;c[v>>2]=((B-y|0)*6817|0)+((A-y|0)*1684|0)+(da(z-y|0,-4717)|0)+16384>>15;v=(x+b|0)*5915|0;c[w>>2]=v+(x*1461|0)+(l*3283|0)+16384>>15;c[p>>2]=v+(da(b,-9198)|0)+(da(l,-7376)|0)+16384>>15;p=m+j|0;l=n-k|0;c[h>>2]=((s-p+r-l-t|0)*5350|0)+16384>>15;r=r*5350|0;l=(da(p,-847)|0)+((l*7518|0)-r)|0;p=((s+j|0)*6406|0)+((k+t|0)*4025|0)|0;c[q>>2]=l+p+(da(j,-12700)|0)+(k*5992|0)+16384>>15;q=((s+m|0)*7141|0)+((n-t|0)*2499|0)|0;c[o>>2]=l+q+(da(m,-2269)|0)+(da(n,-16423)|0)+16384>>15;c[u>>2]=p+q+r+(da(s,-6029)|0)+(da(t,-679)|0)+16384>>15;a=a+4|0;e=e+1|0;g=g+4|0}i=f;return}function Fh(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;f=i;i=i+128|0;g=f;st(a|0,0,256)|0;h=e+5|0;k=0;j=a;while(1){m=c[b+(k<<2)>>2]|0;u=d[m+e>>0]|0;o=d[m+h>>0]|0;r=u+o|0;t=d[m+(e+1)>>0]|0;l=d[m+(e+4)>>0]|0;n=t+l|0;s=d[m+(e+2)>>0]|0;m=d[m+(e+3)>>0]|0;q=s+m|0;p=r+q|0;o=u-o|0;l=t-l|0;m=s-m|0;c[j>>2]=(p+n<<2)+ -3072;c[j+8>>2]=((r-q|0)*10033|0)+1024>>11;c[j+16>>2]=((p-n-n|0)*5793|0)+1024>>11;n=((o+m|0)*2998|0)+1024>>11;c[j+4>>2]=n+(o+l<<2);c[j+12>>2]=o-l-m<<2;c[j+20>>2]=n+(m-l<<2);k=k+1|0;if((k|0)==12){b=0;break}else if((k|0)==8){j=g;continue}j=j+32|0}while(1){if((b|0)>=6)break;G=c[a>>2]|0;m=c[g+96>>2]|0;r=G+m|0;o=a+32|0;F=c[o>>2]|0;l=c[g+64>>2]|0;A=F+l|0;e=a+64|0;E=c[e>>2]|0;p=c[g+32>>2]|0;H=E+p|0;q=a+96|0;D=c[q>>2]|0;j=c[g>>2]|0;k=D+j|0;v=a+128|0;C=c[v>>2]|0;u=a+224|0;h=c[u>>2]|0;z=C+h|0;s=a+160|0;B=c[s>>2]|0;y=a+192|0;n=c[y>>2]|0;t=B+n|0;x=r+t|0;t=r-t|0;r=A-z|0;w=H+k|0;k=H-k|0;m=G-m|0;l=F-l|0;p=E-p|0;j=D-j|0;h=C-h|0;n=B-n|0;c[a>>2]=((x+(A+z)+w|0)*7282|0)+16384>>15;c[y>>2]=((t-r-k|0)*7282|0)+16384>>15;c[v>>2]=((x-w|0)*8918|0)+16384>>15;c[e>>2]=((r-k|0)*7282|0)+((t+k|0)*9947|0)+16384>>15;e=(l+h|0)*3941|0;l=e+(l*5573|0)|0;h=e+(da(h,-13455)|0)|0;e=(m+p|0)*8170|0;k=(m+j|0)*6269|0;t=da(p+j|0,-1344)|0;r=e+(t-h+(da(p,-17036)|0)+(n*6269|0))|0;t=k+(t-l+(j*5285|0)+(da(n,-8170)|0))|0;p=h+((m-j|0)*9514|0)+(da(p+n|0,-3941)|0)|0;c[o>>2]=e+k+l+(da(m,-4229)|0)+(n*1344|0)+16384>>15;c[q>>2]=p+16384>>15;c[s>>2]=r+16384>>15;c[u>>2]=t+16384>>15;a=a+4|0;b=b+1|0;g=g+4|0}i=f;return}function Gh(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;f=i;i=i+64|0;g=f;st(a|0,0,256)|0;h=e+4|0;k=0;j=a;while(1){m=c[b+(k<<2)>>2]|0;s=d[m+e>>0]|0;n=d[m+h>>0]|0;q=s+n|0;r=d[m+(e+1)>>0]|0;l=d[m+(e+3)>>0]|0;o=r+l|0;m=d[m+(e+2)>>0]|0;p=q+o|0;n=s-n|0;l=r-l|0;c[j>>2]=(p+m<<2)+ -2560;o=(q-o|0)*6476|0;m=(p-(m<<2)|0)*2896|0;c[j+8>>2]=o+m+1024>>11;c[j+16>>2]=o-m+1024>>11;m=(n+l|0)*6810|0;c[j+4>>2]=m+(n*4209|0)+1024>>11;c[j+12>>2]=m+(da(l,-17828)|0)+1024>>11;k=k+1|0;if((k|0)==10){b=0;break}else if((k|0)==8){j=g;continue}j=j+32|0}while(1){if((b|0)>=5)break;C=c[a>>2]|0;k=c[g+32>>2]|0;w=C+k|0;e=a+32|0;B=c[e>>2]|0;m=c[g>>2]|0;D=B+m|0;t=a+64|0;A=c[t>>2]|0;s=a+224|0;r=c[s>>2]|0;v=A+r|0;p=a+96|0;z=c[p>>2]|0;n=a+192|0;q=c[n>>2]|0;o=z+q|0;h=a+128|0;y=c[h>>2]|0;j=a+160|0;l=c[j>>2]|0;u=y+l|0;x=w+u|0;u=w-u|0;w=D+o|0;o=D-o|0;k=C-k|0;m=B-m|0;r=A-r|0;q=z-q|0;l=y-l|0;c[a>>2]=((x+w+v|0)*10486|0)+16384>>15;v=v<<1;c[h>>2]=((x-v|0)*11997|0)+(da(w-v|0,-4582)|0)+16384>>15;h=(u+o|0)*8716|0;c[t>>2]=h+(u*5387|0)+16384>>15;c[n>>2]=h+(da(o,-22820)|0)+16384>>15;n=k+l|0;o=m-q|0;c[j>>2]=((n-o-r|0)*10486|0)+16384>>15;r=r*10486|0;c[e>>2]=(k*14647|0)+(m*13213|0)+r+(q*6732|0)+(l*2320|0)+16384>>15;q=((k-l|0)*9973|0)+(da(m+q|0,-6163)|0)|0;r=((n+o|0)*3240|0)+(o*5243|0)-r|0;c[p>>2]=q+r+16384>>15;c[s>>2]=q-r+16384>>15;a=a+4|0;b=b+1|0;g=g+4|0}i=f;return}function Hh(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0;f=i;st(a|0,0,256)|0;g=e+3|0;j=a;h=0;while(1){if((h|0)>=8){g=0;break}k=c[b+(h<<2)>>2]|0;p=d[k+e>>0]|0;m=d[k+g>>0]|0;n=p+m|0;o=d[k+(e+1)>>0]|0;k=d[k+(e+2)>>0]|0;l=o+k|0;m=p-m|0;k=o-k|0;c[j>>2]=(n+l<<3)+ -4096;c[j+8>>2]=n-l<<3;l=((m+k|0)*4433|0)+512|0;c[j+4>>2]=l+(m*6270|0)>>10;c[j+12>>2]=l+(da(k,-15137)|0)>>10;j=j+32|0;h=h+1|0}while(1){if((g|0)>=4)break;y=c[a>>2]|0;p=a+224|0;r=c[p>>2]|0;t=y+r|0;q=a+32|0;x=c[q>>2]|0;k=a+192|0;h=c[k>>2]|0;z=x+h|0;e=a+64|0;w=c[e>>2]|0;l=a+160|0;b=c[l>>2]|0;n=w+b|0;j=a+96|0;v=c[j>>2]|0;o=a+128|0;m=c[o>>2]|0;s=v+m|0;u=t+s+2|0;s=t-s|0;t=z+n|0;n=z-n|0;r=y-r|0;h=x-h|0;b=w-b|0;m=v-m|0;c[a>>2]=u+t>>2;c[o>>2]=u-t>>2;o=((s+n|0)*4433|0)+16384|0;c[e>>2]=o+(s*6270|0)>>15;c[k>>2]=o+(da(n,-15137)|0)>>15;k=r+b|0;n=h+m|0;o=((k+n|0)*9633|0)+16384|0;k=(da(k,-3196)|0)+o|0;o=(da(n,-16069)|0)+o|0;n=da(r+m|0,-7373)|0;e=da(h+b|0,-20995)|0;c[q>>2]=(r*12299|0)+(n+k)>>15;c[j>>2]=(h*25172|0)+(e+o)>>15;c[l>>2]=(b*16819|0)+(e+k)>>15;c[p>>2]=(m*2446|0)+(n+o)>>15;a=a+4|0;g=g+1|0}i=f;return}function Ih(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;f=i;st(a|0,0,256)|0;g=e+2|0;j=a;h=0;while(1){if((h|0)>=6){g=0;break}m=c[b+(h<<2)>>2]|0;l=d[m+e>>0]|0;k=d[m+g>>0]|0;n=l+k|0;m=d[m+(e+1)>>0]|0;c[j>>2]=(n+m<<3)+ -3072;c[j+8>>2]=((n-m-m|0)*5793|0)+512>>10;c[j+4>>2]=((l-k|0)*10033|0)+512>>10;j=j+32|0;h=h+1|0}while(1){if((g|0)>=3)break;u=c[a>>2]|0;n=a+160|0;b=c[n>>2]|0;r=u+b|0;j=a+32|0;t=c[j>>2]|0;k=a+128|0;m=c[k>>2]|0;h=t+m|0;p=a+64|0;s=c[p>>2]|0;e=a+96|0;l=c[e>>2]|0;q=s+l|0;o=r+q|0;b=u-b|0;m=t-m|0;l=s-l|0;c[a>>2]=((o+h|0)*14564|0)+16384>>15;c[p>>2]=((r-q|0)*17837|0)+16384>>15;c[k>>2]=((o-h-h|0)*10298|0)+16384>>15;k=(b+l|0)*5331|0;c[j>>2]=k+((b+m|0)*14564|0)+16384>>15;c[e>>2]=((b-m-l|0)*14564|0)+16384>>15;c[n>>2]=k+((l-m|0)*14564|0)+16384>>15;a=a+4|0;g=g+1|0}i=f;return}function Jh(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0,h=0,j=0,k=0,l=0,m=0,n=0,o=0;f=i;st(a|0,0,256)|0;g=e+1|0;j=a;h=0;while(1){if((h|0)>=4){g=0;break}k=c[b+(h<<2)>>2]|0;l=d[k+e>>0]|0;k=d[k+g>>0]|0;c[j>>2]=(l+k<<3)+ -2048;c[j+4>>2]=l-k<<3;j=j+32|0;h=h+1|0}while(1){if((g|0)>=2)break;o=c[a>>2]|0;l=a+96|0;j=c[l>>2]|0;m=o+j|0;b=a+32|0;n=c[b>>2]|0;e=a+64|0;k=c[e>>2]|0;h=n+k|0;j=o-j|0;k=n-k|0;c[a>>2]=m+h;c[e>>2]=m-h;e=((j+k|0)*4433|0)+4096|0;c[b>>2]=e+(j*6270|0)>>13;c[l>>2]=e+(da(k,-15137)|0)>>13;a=a+4|0;g=g+1|0}i=f;return}function Kh(a,b,e){a=a|0;b=b|0;e=e|0;var f=0,g=0;f=i;st(a|0,0,256)|0;g=d[(c[b>>2]|0)+e>>0]|0;b=d[(c[b+4>>2]|0)+e>>0]|0;c[a>>2]=(g+b<<5)+ -8192;c[a+32>>2]=g-b<<5;i=f;return}function Lh(d,e,f,h,j){d=d|0;e=e|0;f=f|0;h=h|0;j=j|0;var k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0.0,s=0.0,t=0.0,u=0.0,v=0.0,w=0.0,x=0.0,y=0.0,z=0.0,A=0.0;k=i;i=i+256|0;l=k;d=c[d+336>>2]|0;n=c[e+84>>2]|0;e=8;p=l;while(1){if((e|0)<=0){m=0;break}o=b[f+16>>1]|0;q=b[f+32>>1]|0;if(o<<16>>16==0&q<<16>>16==0)if(((((b[f+48>>1]|0)==0?(b[f+64>>1]|0)==0:0)?(b[f+80>>1]|0)==0:0)?(b[f+96>>1]|0)==0:0)?(b[f+112>>1]|0)==0:0){r=+(b[f>>1]|0)*+g[n>>2];g[p>>2]=r;g[p+32>>2]=r;g[p+64>>2]=r;g[p+96>>2]=r;g[p+128>>2]=r;g[p+160>>2]=r;g[p+192>>2]=r;g[p+224>>2]=r}else{q=0;m=10}else m=10;if((m|0)==10){m=0;s=+(b[f>>1]|0)*+g[n>>2];y=+(q<<16>>16)*+g[n+64>>2];x=+(b[f+64>>1]|0)*+g[n+128>>2];u=+(b[f+96>>1]|0)*+g[n+192>>2];w=s+x;x=s-x;s=y+u;u=(y-u)*1.4142135381698608-s;y=w+s;s=w-s;w=x+u;u=x-u;x=+(o<<16>>16)*+g[n+32>>2];v=+(b[f+48>>1]|0)*+g[n+96>>2];A=+(b[f+80>>1]|0)*+g[n+160>>2];r=+(b[f+112>>1]|0)*+g[n+224>>2];t=A+v;v=A-v;A=x+r;r=x-r;x=A+t;z=(v+r)*1.8477590084075928;v=z-v*2.613126039505005-x;t=(A-t)*1.4142135381698608-v;r=z-r*1.0823922157287598-t;g[p>>2]=y+x;g[p+224>>2]=y-x;g[p+32>>2]=w+v;g[p+192>>2]=w-v;g[p+64>>2]=u+t;g[p+160>>2]=u-t;g[p+96>>2]=s+r;g[p+128>>2]=s-r}f=f+2|0;n=n+4|0;e=e+ -1|0;p=p+4|0}while(1){if((m|0)>=8)break;q=c[h+(m<<2)>>2]|0;t=+g[l>>2]+128.5;u=+g[l+16>>2];v=t+u;u=t-u;t=+g[l+8>>2];x=+g[l+24>>2];z=t+x;x=(t-x)*1.4142135381698608-z;t=v+z;z=v-z;v=u+x;x=u-x;u=+g[l+20>>2];w=+g[l+12>>2];y=u+w;w=u-w;u=+g[l+4>>2];A=+g[l+28>>2];r=u+A;A=u-A;u=r+y;s=(w+A)*1.8477590084075928;w=s-w*2.613126039505005-u;y=(r-y)*1.4142135381698608-w;A=s-A*1.0823922157287598-y;a[q+j>>0]=a[d+(~~(t+u)&1023)>>0]|0;a[q+(j+7)>>0]=a[d+(~~(t-u)&1023)>>0]|0;a[q+(j+1)>>0]=a[d+(~~(v+w)&1023)>>0]|0;a[q+(j+6)>>0]=a[d+(~~(v-w)&1023)>>0]|0;a[q+(j+2)>>0]=a[d+(~~(x+y)&1023)>>0]|0;a[q+(j+5)>>0]=a[d+(~~(x-y)&1023)>>0]|0;a[q+(j+3)>>0]=a[d+(~~(z+A)&1023)>>0]|0;a[q+(j+4)>>0]=a[d+(~~(z-A)&1023)>>0]|0;m=m+1|0;l=l+32|0}i=k;return}function Mh(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0;j=i;i=i+256|0;l=j;d=c[d+336>>2]|0;e=c[e+84>>2]|0;n=8;m=l;while(1){if((n|0)<=0){f=0;break}o=b[f+16>>1]|0;p=b[f+32>>1]|0;if(o<<16>>16==0&p<<16>>16==0)if(((((b[f+48>>1]|0)==0?(b[f+64>>1]|0)==0:0)?(b[f+80>>1]|0)==0:0)?(b[f+96>>1]|0)==0:0)?(b[f+112>>1]|0)==0:0){p=da(b[f>>1]|0,c[e>>2]|0)|0;c[m>>2]=p;c[m+32>>2]=p;c[m+64>>2]=p;c[m+96>>2]=p;c[m+128>>2]=p;c[m+160>>2]=p;c[m+192>>2]=p;c[m+224>>2]=p}else{p=0;k=10}else k=10;if((k|0)==10){k=0;q=da(b[f>>1]|0,c[e>>2]|0)|0;v=da(p<<16>>16,c[e+64>>2]|0)|0;u=da(b[f+64>>1]|0,c[e+128>>2]|0)|0;r=da(b[f+96>>1]|0,c[e+192>>2]|0)|0;t=q+u|0;u=q-u|0;q=v+r|0;r=((v-r|0)*362>>8)-q|0;v=t+q|0;q=t-q|0;t=u+r|0;r=u-r|0;u=da(o<<16>>16,c[e+32>>2]|0)|0;s=da(b[f+48>>1]|0,c[e+96>>2]|0)|0;x=da(b[f+80>>1]|0,c[e+160>>2]|0)|0;w=da(b[f+112>>1]|0,c[e+224>>2]|0)|0;o=x+s|0;s=x-s|0;x=u+w|0;w=u-w|0;u=x+o|0;p=(s+w|0)*473>>8;s=((da(s,-669)|0)>>8)+p-u|0;o=((x-o|0)*362>>8)-s|0;p=(w*277>>8)-p+o|0;c[m>>2]=v+u;c[m+224>>2]=v-u;c[m+32>>2]=t+s;c[m+192>>2]=t-s;c[m+64>>2]=r+o;c[m+160>>2]=r-o;c[m+128>>2]=q+p;c[m+96>>2]=q-p}f=f+2|0;e=e+4|0;n=n+ -1|0;m=m+4|0}while(1){if((f|0)>=8)break;n=c[g+(f<<2)>>2]|0;m=n+h|0;e=c[l+4>>2]|0;o=c[l+8>>2]|0;if((e|0)==0&(o|0)==0)if(((((c[l+12>>2]|0)==0?(c[l+16>>2]|0)==0:0)?(c[l+20>>2]|0)==0:0)?(c[l+24>>2]|0)==0:0)?(c[l+28>>2]|0)==0:0){x=a[d+(((c[l>>2]|0)>>>5&1023)+128)>>0]|0;a[m>>0]=x;st(n+(h+1)|0,x|0,7)|0}else{o=0;k=20}else k=20;if((k|0)==20){k=0;u=c[l>>2]|0;p=c[l+16>>2]|0;s=u+p|0;p=u-p|0;u=c[l+24>>2]|0;w=o+u|0;u=((o-u|0)*362>>8)-w|0;q=s+w|0;w=s-w|0;s=p+u|0;u=p-u|0;p=c[l+20>>2]|0;t=c[l+12>>2]|0;v=p+t|0;t=p-t|0;p=c[l+28>>2]|0;o=e+p|0;p=e-p|0;r=o+v|0;x=(t+p|0)*473>>8;t=((da(t,-669)|0)>>8)+x-r|0;v=((o-v|0)*362>>8)-t|0;x=(p*277>>8)-x+v|0;a[m>>0]=a[d+(((q+r|0)>>>5&1023)+128)>>0]|0;a[n+(h+7)>>0]=a[d+(((q-r|0)>>>5&1023)+128)>>0]|0;a[n+(h+1)>>0]=a[d+(((s+t|0)>>>5&1023)+128)>>0]|0;a[n+(h+6)>>0]=a[d+(((s-t|0)>>>5&1023)+128)>>0]|0;a[n+(h+2)>>0]=a[d+(((u+v|0)>>>5&1023)+128)>>0]|0;a[n+(h+5)>>0]=a[d+(((u-v|0)>>>5&1023)+128)>>0]|0;a[n+(h+4)>>0]=a[d+(((w+x|0)>>>5&1023)+128)>>0]|0;a[n+(h+3)>>0]=a[d+(((w-x|0)>>>5&1023)+128)>>0]|0}f=f+1|0;l=l+32|0}i=j;return}function Nh(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;j=i;i=i+256|0;l=j;d=c[d+336>>2]|0;e=c[e+84>>2]|0;n=8;m=l;while(1){if((n|0)<=0){f=0;break}o=b[f+16>>1]|0;p=b[f+32>>1]|0;if(o<<16>>16==0&p<<16>>16==0)if(((((b[f+48>>1]|0)==0?(b[f+64>>1]|0)==0:0)?(b[f+80>>1]|0)==0:0)?(b[f+96>>1]|0)==0:0)?(b[f+112>>1]|0)==0:0){p=(da(b[f>>1]|0,c[e>>2]|0)|0)<<2;c[m>>2]=p;c[m+32>>2]=p;c[m+64>>2]=p;c[m+96>>2]=p;c[m+128>>2]=p;c[m+160>>2]=p;c[m+192>>2]=p;c[m+224>>2]=p}else{p=0;k=10}else k=10;if((k|0)==10){k=0;q=da(p<<16>>16,c[e+64>>2]|0)|0;r=da(b[f+96>>1]|0,c[e+192>>2]|0)|0;v=(q+r|0)*4433|0;q=v+(q*6270|0)|0;r=v+(da(r,-15137)|0)|0;v=da(b[f>>1]|0,c[e>>2]|0)|0;p=(da(b[f+64>>1]|0,c[e+128>>2]|0)|0)<<13;v=v<<13|1024;t=v+p|0;p=v-p|0;v=t+q|0;q=t-q|0;t=p+r|0;r=p-r|0;p=da(b[f+112>>1]|0,c[e+224>>2]|0)|0;y=da(b[f+80>>1]|0,c[e+160>>2]|0)|0;x=da(b[f+48>>1]|0,c[e+96>>2]|0)|0;w=da(o<<16>>16,c[e+32>>2]|0)|0;s=p+x|0;u=y+w|0;o=(s+u|0)*9633|0;s=(da(s,-16069)|0)+o|0;o=(da(u,-3196)|0)+o|0;u=da(p+w|0,-7373)|0;p=(p*2446|0)+(u+s)|0;u=(w*12299|0)+(u+o)|0;w=da(y+x|0,-20995)|0;o=(y*16819|0)+(w+o)|0;s=(x*25172|0)+(w+s)|0;c[m>>2]=v+u>>11;c[m+224>>2]=v-u>>11;c[m+32>>2]=t+s>>11;c[m+192>>2]=t-s>>11;c[m+64>>2]=r+o>>11;c[m+160>>2]=r-o>>11;c[m+96>>2]=q+p>>11;c[m+128>>2]=q-p>>11}f=f+2|0;e=e+4|0;n=n+ -1|0;m=m+4|0}while(1){if((f|0)>=8)break;n=c[g+(f<<2)>>2]|0;m=n+h|0;e=c[l+4>>2]|0;o=c[l+8>>2]|0;if((e|0)==0&(o|0)==0)if(((((c[l+12>>2]|0)==0?(c[l+16>>2]|0)==0:0)?(c[l+20>>2]|0)==0:0)?(c[l+24>>2]|0)==0:0)?(c[l+28>>2]|0)==0:0){y=a[d+((((c[l>>2]|0)+16|0)>>>5&1023)+128)>>0]|0;a[m>>0]=y;st(n+(h+1)|0,y|0,7)|0}else{o=0;k=20}else k=20;if((k|0)==20){k=0;v=c[l+24>>2]|0;r=(o+v|0)*4433|0;x=r+(o*6270|0)|0;v=r+(da(v,-15137)|0)|0;r=(c[l>>2]|0)+16|0;y=c[l+16>>2]|0;t=r+y<<13;y=r-y<<13;r=t+x|0;x=t-x|0;t=y+v|0;v=y-v|0;y=c[l+28>>2]|0;o=c[l+20>>2]|0;p=c[l+12>>2]|0;u=y+p|0;s=o+e|0;w=(u+s|0)*9633|0;u=(da(u,-16069)|0)+w|0;w=(da(s,-3196)|0)+w|0;s=da(y+e|0,-7373)|0;y=(y*2446|0)+(s+u)|0;s=(e*12299|0)+(s+w)|0;q=da(o+p|0,-20995)|0;w=(o*16819|0)+(q+w)|0;u=(p*25172|0)+(q+u)|0;a[m>>0]=a[d+(((r+s|0)>>>18&1023)+128)>>0]|0;a[n+(h+7)>>0]=a[d+(((r-s|0)>>>18&1023)+128)>>0]|0;a[n+(h+1)>>0]=a[d+(((t+u|0)>>>18&1023)+128)>>0]|0;a[n+(h+6)>>0]=a[d+(((t-u|0)>>>18&1023)+128)>>0]|0;a[n+(h+2)>>0]=a[d+(((v+w|0)>>>18&1023)+128)>>0]|0;a[n+(h+5)>>0]=a[d+(((v-w|0)>>>18&1023)+128)>>0]|0;a[n+(h+3)>>0]=a[d+(((x+y|0)>>>18&1023)+128)>>0]|0;a[n+(h+4)>>0]=a[d+(((x-y|0)>>>18&1023)+128)>>0]|0}f=f+1|0;l=l+32|0}i=j;return}function Oh(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;j=i;i=i+208|0;k=j;d=c[d+336>>2]|0;l=1;m=0;n=c[e+84>>2]|0;e=k;while(1){if(!l){l=0;break}p=(da(b[f>>1]|0,c[n>>2]|0)|0)<<13|1024;r=da(b[f+32>>1]|0,c[n+64>>2]|0)|0;l=da(b[f+64>>1]|0,c[n+128>>2]|0)|0;v=da(b[f+96>>1]|0,c[n+192>>2]|0)|0;q=(l-v|0)*7223|0;x=(r-l|0)*2578|0;t=q+x+p+(da(l,-15083)|0)|0;o=r+v|0;w=(o*10438|0)+p|0;v=q+(w+(da(v,-637)|0))|0;r=x+(w+(da(r,-20239)|0))|0;w=da(b[f+16>>1]|0,c[n+32>>2]|0)|0;x=da(b[f+48>>1]|0,c[n+96>>2]|0)|0;q=da(b[f+80>>1]|0,c[n+160>>2]|0)|0;y=(w+x|0)*7663|0;u=(w-x|0)*1395|0;x=da(x+q|0,-11295)|0;s=y+u+x|0;w=(w+q|0)*5027|0;u=y-u+w|0;q=x+(w+(q*15326|0))|0;c[e>>2]=v+u>>11;c[e+168>>2]=v-u>>11;c[e+28>>2]=t+s>>11;c[e+140>>2]=t-s>>11;c[e+56>>2]=r+q>>11;c[e+112>>2]=r-q>>11;c[e+84>>2]=p+((l-o|0)*11585|0)>>11;o=m+1|0;l=(o|0)<7;m=o;f=f+2|0;n=n+4|0;e=e+4|0}while(1){if((l|0)>=7)break;y=c[g+(l<<2)>>2]|0;v=(c[k>>2]<<13)+131072|0;t=c[k+8>>2]|0;w=c[k+16>>2]|0;p=c[k+24>>2]|0;u=(w-p|0)*7223|0;n=(t-w|0)*2578|0;r=u+n+v+(da(w,-15083)|0)|0;x=t+p|0;o=(x*10438|0)+v|0;p=u+(o+(da(p,-637)|0))|0;t=n+(o+(da(t,-20239)|0))|0;o=c[k+4>>2]|0;n=c[k+12>>2]|0;u=c[k+20>>2]|0;e=(o+n|0)*7663|0;q=(o-n|0)*1395|0;n=da(n+u|0,-11295)|0;s=e+q+n|0;o=(o+u|0)*5027|0;q=e-q+o|0;u=n+(o+(u*15326|0))|0;a[y+h>>0]=a[d+(((p+q|0)>>>18&1023)+128)>>0]|0;a[y+(h+6)>>0]=a[d+(((p-q|0)>>>18&1023)+128)>>0]|0;a[y+(h+1)>>0]=a[d+(((r+s|0)>>>18&1023)+128)>>0]|0;a[y+(h+5)>>0]=a[d+(((r-s|0)>>>18&1023)+128)>>0]|0;a[y+(h+2)>>0]=a[d+(((t+u|0)>>>18&1023)+128)>>0]|0;a[y+(h+4)>>0]=a[d+(((t-u|0)>>>18&1023)+128)>>0]|0;a[y+(h+3)>>0]=a[d+(((v+((w-x|0)*11585|0)|0)>>>18&1023)+128)>>0]|0;l=l+1|0;k=k+28|0}i=j;return}function Ph(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;j=i;i=i+144|0;k=j;d=c[d+336>>2]|0;l=1;m=0;n=c[e+84>>2]|0;e=k;while(1){if(!l){l=0;break}l=(da(b[f>>1]|0,c[n>>2]|0)|0)<<13|1024;q=(da(b[f+64>>1]|0,c[n+128>>2]|0)|0)*5793|0;u=l+q|0;q=l-q-q>>11;l=(da(b[f+32>>1]|0,c[n+64>>2]|0)|0)*10033|0;s=u+l|0;l=u-l|0;u=da(b[f+16>>1]|0,c[n+32>>2]|0)|0;t=da(b[f+48>>1]|0,c[n+96>>2]|0)|0;p=da(b[f+80>>1]|0,c[n+160>>2]|0)|0;o=(u+p|0)*2998|0;r=o+(u+t<<13)|0;o=o+(p-t<<13)|0;p=u-t-p<<2;c[e>>2]=s+r>>11;c[e+120>>2]=s-r>>11;c[e+24>>2]=q+p;c[e+96>>2]=q-p;c[e+48>>2]=l+o>>11;c[e+72>>2]=l-o>>11;o=m+1|0;l=(o|0)<6;m=o;f=f+2|0;n=n+4|0;e=e+4|0}while(1){if((l|0)>=6)break;u=c[g+(l<<2)>>2]|0;s=(c[k>>2]<<13)+131072|0;q=(c[k+16>>2]|0)*5793|0;e=s+q|0;q=s-q-q|0;s=(c[k+8>>2]|0)*10033|0;o=e+s|0;s=e-s|0;e=c[k+4>>2]|0;n=c[k+12>>2]|0;r=c[k+20>>2]|0;t=(e+r|0)*2998|0;p=t+(e+n<<13)|0;t=t+(r-n<<13)|0;r=e-n-r<<13;a[u+h>>0]=a[d+(((o+p|0)>>>18&1023)+128)>>0]|0;a[u+(h+5)>>0]=a[d+(((o-p|0)>>>18&1023)+128)>>0]|0;a[u+(h+1)>>0]=a[d+(((q+r|0)>>>18&1023)+128)>>0]|0;a[u+(h+4)>>0]=a[d+(((q-r|0)>>>18&1023)+128)>>0]|0;a[u+(h+2)>>0]=a[d+(((s+t|0)>>>18&1023)+128)>>0]|0;a[u+(h+3)>>0]=a[d+(((s-t|0)>>>18&1023)+128)>>0]|0;l=l+1|0;k=k+24|0}i=j;return}function Qh(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;j=i;i=i+112|0;k=j;d=c[d+336>>2]|0;l=1;m=0;n=c[e+84>>2]|0;e=k;while(1){if(!l){l=0;break}q=(da(b[f>>1]|0,c[n>>2]|0)|0)<<13|1024;l=da(b[f+32>>1]|0,c[n+64>>2]|0)|0;o=da(b[f+64>>1]|0,c[n+128>>2]|0)|0;p=(l+o|0)*6476|0;o=l-o|0;l=q+(o*2896|0)|0;r=l+p|0;p=l-p|0;o=q+(da(o,-11584)|0)|0;q=da(b[f+16>>1]|0,c[n+32>>2]|0)|0;l=da(b[f+48>>1]|0,c[n+96>>2]|0)|0;s=(q+l|0)*6810|0;q=s+(q*4209|0)|0;l=s+(da(l,-17828)|0)|0;c[e>>2]=r+q>>11;c[e+80>>2]=r-q>>11;c[e+20>>2]=p+l>>11;c[e+60>>2]=p-l>>11;c[e+40>>2]=o>>11;o=m+1|0;l=(o|0)<5;m=o;f=f+2|0;n=n+4|0;e=e+4|0}while(1){if((l|0)>=5)break;s=c[g+(l<<2)>>2]|0;o=(c[k>>2]<<13)+131072|0;q=c[k+8>>2]|0;r=c[k+16>>2]|0;p=(q+r|0)*6476|0;r=q-r|0;q=o+(r*2896|0)|0;n=q+p|0;p=q-p|0;r=o+(da(r,-11584)|0)|0;o=c[k+4>>2]|0;q=c[k+12>>2]|0;e=(o+q|0)*6810|0;o=e+(o*4209|0)|0;q=e+(da(q,-17828)|0)|0;a[s+h>>0]=a[d+(((n+o|0)>>>18&1023)+128)>>0]|0;a[s+(h+4)>>0]=a[d+(((n-o|0)>>>18&1023)+128)>>0]|0;a[s+(h+1)>>0]=a[d+(((p+q|0)>>>18&1023)+128)>>0]|0;a[s+(h+3)>>0]=a[d+(((p-q|0)>>>18&1023)+128)>>0]|0;a[s+(h+2)>>0]=a[d+((r>>>18&1023)+128)>>0]|0;l=l+1|0;k=k+20|0}i=j;return}function Rh(d,e,f,g,h){d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;j=i;i=i+64|0;k=j;d=c[d+336>>2]|0;l=1;m=0;n=c[e+84>>2]|0;e=k;while(1){if(!l){l=0;break}p=da(b[f>>1]|0,c[n>>2]|0)|0;l=da(b[f+32>>1]|0,c[n+64>>2]|0)|0;q=p+l<<2;l=p-l<<2;p=da(b[f+16>>1]|0,c[n+32>>2]|0)|0;o=da(b[f+48>>1]|0,c[n+96>>2]|0)|0;r=((p+o|0)*4433|0)+1024|0;p=r+(p*6270|0)>>11;o=r+(da(o,-15137)|0)>>11;c[e>>2]=q+p;c[e+48>>2]=q-p;c[e+16>>2]=l+o;c[e+32>>2]=l-o;o=m+1|0;l=(o|0)<4;m=o;f=f+2|0;n=n+4|0;e=e+4|0}while(1){if((l|0)>=4)break;r=c[g+(l<<2)>>2]|0;o=(c[k>>2]|0)+16|0;p=c[k+8>>2]|0;n=o+p<<13;p=o-p<<13;o=c[k+4>>2]|0;q=c[k+12>>2]|0;e=(o+q|0)*4433|0;o=e+(o*6270|0)|0;q=e+(da(q,-15137)|0)|0;a[r+h>>0]=a[d+(((n+o|0)>>>18&1023)+128)>>0]|0;a[r+(h+3)>>0]=a[d+(((n-o|0)>>>18&1023)+128)>>0]|0;a[r+(h+1)>>0]=a[d+(((p+q|0)>>>18&1023)+128)>>0]|0;a[r+(h+2)>>0]=a[d+(((p-q|0)>>>18&1023)+128)>>0]|0;l=l+1|0;k=k+16|0}i=j;return}
// EMSCRIPTEN_END_FUNCS
var md=[Hx,Hx,Et,Hx,Ft,Hx,Gt,Hx,Ht,Hx,It,Hx,Jt,Hx,Kt,Hx,Lt,Hx,Mt,Hx,Nt,Hx,tl,yl,ek,Cl,fl,kl,sk,ol,Dk,Ek,im,nm,Gp,Lp,nq,pq,sq,_p,dq,fq,iq,As,Gs,zs,ht,Li,Mi,kj,Yr,Hx,Hx,Hx,Hx,Hx,Hx,Hx,Hx,Hx,Hx,Hx,Hx,Hx];var nd=[Ix,Ix,Pt,Ix,Qt,Ix,Rt,Ix,St,Ix,Tt,Ix,Ut,Ix,Vt,Ix,Wt,Ix,Xt,Ix,Yt,Ix,qm,sm,tm,um,vm,wm,xm,ym,zm,Am,Bm,Hm,Jm,Km,Lm,Mm,Nm,Om,Pm,Qm,Rm,Sm,gn,jn,wn,yn,Hn,In,Jn,Ln,Nn,Vn,Wn,Xn,Zn,$n,xp,Dp,ne,oe,ef,ff,Lg,Ng,Vg,Rg,Sg,Tg,Ix,Ix,Ix,Ix,Ix,Ix,Ix,Ix,Ix,Ix,Ix,Ix,Ix,Ix,Ix,Ix,Ix,Ix,Ix,Ix,Ix,Ix,Ix,Ix,Ix,Ix,Ix,Ix,Ix,Ix,Ix,Ix,Ix,Ix,Ix,Ix,Ix,Ix,Ix,Ix,Ix,Ix,Ix,Ix,Ix,Ix,Ix,Ix,Ix,Ix,Ix,Ix,Ix,Ix,Ix,Ix,Ix,Ix];var od=[Jx,Jx,_t,Jx,$t,Jx,au,Jx,bu,Jx,cu,Jx,du,Jx,eu,Jx,fu,Jx,gu,Jx,hu,Jx,Ns,Ms,Js,ee,ge,he,ie,je,ke,le,hf,Mf,Nf,Of,Pf,Qf,Sf,Tf,Uf,Vf,Uh,Th,Sh,Rh,Qh,Ph,Oh,Vh,Wh,Xh,Yh,Zh,_h,$h,ai,bi,ci,di,ei,fi,gi,hi,ii,ji,ki,li,mi,ni,oi,pi,qi,Nh,Mh,Lh,Jx,Jx,Jx,Jx,Jx,Jx,Jx,Jx,Jx,Jx,Jx,Jx,Jx,Jx,Jx,Jx,Jx,Jx,Jx,Jx,Jx,Jx,Jx,Jx,Jx,Jx,Jx,Jx,Jx,Jx,Jx,Jx,Jx,Jx,Jx,Jx,Jx,Jx,Jx,Jx,Jx,Jx,Jx,Jx,Jx,Jx,Jx,Jx,Jx,Jx,Jx,Jx];var pd=[Kx,Kx,ju,Kx,ku,Kx,lu,Kx,mu,Kx,nu,Kx,ou,Kx,pu,Kx,qu,Kx,ru,Kx,su,Kx,qj,Tj,Kx,Kx,Kx,Kx,Kx,Kx,Kx,Kx];var qd=[Lx,Lx,uu,Lx,vu,Lx,wu,Lx,xu,Lx,yu,Lx,zu,Lx,Au,Lx,Bu,Lx,Cu,Lx,Du,Lx,ak,bk,gk,hk,ok,pk,uk,vk,Gk,Fk,dl,cl,rl,ql,Fl,El,Hl,Gl,Kl,Jl,Ml,Ll,Pl,Ol,Rl,Ql,Ul,Tl,Wl,Vl,am,$l,bl,bm,_l,cm,em,dm,Xp,km,jm,pm,om,Gm,Fm,$m,_m,rn,qn,Fn,En,Tn,Sn,fo,eo,ko,jo,no,mo,yo,xo,Jo,Io,Uo,To,dp,cp,np,mp,tp,sp,zp,yp,Fp,Ep,Kp,Jp,Sp,Rp,lq,kq,Op,Cq,br,ar,dr,cr,fm,Wp,Zp,uq,Kq,Sq,_q,$q,ds,cs,is,hs,ls,ks,ns,ps,os,rs,vs,ss,ts,ys,us,ws,xs,re,se,Ue,Ve,We,de,fe,gf,me,Sd,Je,Ke,Le,Me,Ne,tf,uf,Df,Ef,Lf,Xf,Zf,_f,vg,Ig,Jg,si,ti,Bi,Kg,Ug,Ei,Hi,Ri,Vi,ah,ch,hj,kg,lg,mg,dj,ej,tj,Kj,Hj,Ij,Wj,Gj,_j,fp,Us,Rr,Qr,Pr,Or,Nr,Mr,Mk,Xk,as,Lx,Lx,Lx,Lx,Lx,Lx,Lx,Lx,Lx,Lx,Lx,Lx,Lx,Lx,Lx,Lx,Lx,Lx,Lx,Lx,Lx,Lx,Lx,Lx,Lx,Lx,Lx,Lx,Lx,Lx,Lx,Lx,Lx,Lx,Lx,Lx,Lx,Lx,Lx,Lx,Lx,Lx,Lx,Lx,Lx,Lx,Lx,Lx,Lx,Lx,Lx,Lx,Lx,Lx,Lx,Lx,Lx,Lx,Lx,Lx,Lx];var rd=[Mx,Mx,Fu,Mx,Gu,Mx,Hu,Mx,Iu,Mx,Ju,Mx,Ku,Mx,Lu,Mx,Mu,Mx,Nu,Mx,Ou,Mx,ck,ik,qk,wk,el,sl,qo,ro,so,to,vo,wo,Bo,Co,Do,Eo,Go,Ho,Mo,No,Oo,Po,Ro,So,Xo,Yo,Zo,_o,ap,bp,Ip,Np,ir,kr,mr,jr,lr,nr,$d,qe,Rd,Pe,He,df,og,ri,Ai,Qg,Ui,$g,bh,fj,Yi,Zi,bj,vj,wj,yj,Aj,Cj,Dj,Ej,Fj,Lj,Mx,Mx,Mx,Mx,Mx,Mx,Mx,Mx,Mx,Mx,Mx,Mx,Mx,Mx,Mx,Mx,Mx,Mx,Mx,Mx,Mx,Mx,Mx,Mx,Mx,Mx,Mx,Mx,Mx,Mx,Mx,Mx,Mx,Mx,Mx,Mx,Mx,Mx,Mx,Mx,Mx,Mx];var sd=[Nx,Nx,Qu,Nx,Ru,Nx,Su,Nx,Tu,Nx,Uu,Nx,Vu,Nx,Wu,Nx,Xu,Nx,Yu,Nx,Zu,Nx,Pi,Qi,Nx,Nx,Nx,Nx,Nx,Nx,Nx,Nx];var td=[Ox,Ox,$u,Ox,av,Ox,bv,Ox,cv,Ox,dv,Ox,ev,Ox,fv,Ox,gv,Ox,hv,Ox,iv,Ox,Pn,bo,Ox,Ox,Ox,Ox,Ox,Ox,Ox,Ox];var ud=[Px,Px,kv,Px,lv,Px,mv,Px,nv,Px,ov,Px,pv,Px,qv,Px,rv,Px,sv,Px,tv,Px,dk,xl,zl,Al,wl,jk,kk,rk,jl,ll,ml,il,xk,yk,ms,Yl,Gn,or,qr,sr,yr,Ar,ur,wr,Un,pr,rr,tr,zr,Br,vr,xr,oo,po,uo,zo,Ao,Fo,Ko,Lo,Qo,Vo,Wo,$o,Gq,Hq,Jq,er,gr,fr,hr,yq,zq,Bq,Oq,Pq,Rq,Wq,Xq,Zq,es,js,qs,Ff,Hf,jg,wg,xg,yg,zg,Bg,gj,sj,rj,$i,aj,Jj,Vj,Uj,xj,zj,Bj,Px,Px,Px,Px,Px,Px,Px,Px,Px,Px,Px,Px,Px,Px,Px,Px,Px,Px,Px,Px,Px,Px,Px,Px];var vd=[Qx,Qx,vv,Qx,wv,Qx,xv,Qx,yv,Qx,zv,Qx,Av,Qx,Bv,Qx,Cv,Qx,Dv,Qx,Ev,Qx,up,Ap,Qx,Qx,Qx,Qx,Qx,Qx,Qx,Qx];var wd=[Rx,Rx,Gv,Rx,Hv,Rx,Iv,Rx,Jv,Rx,Kv,Rx,Lv,Rx,Mv,Rx,Nv,Rx,Ov,Rx,Pv,Rx,Ck,Zl,mh,lh,kh,jh,ih,hh,gh,nh,oh,ph,qh,rh,sh,th,uh,vh,wh,xh,yh,zh,Ah,Bh,Ch,Dh,Eh,Fh,Gh,Hh,Ih,Jh,Kh,fh,eh,dh,Oe,pj,_i,Sj,Qj,Oj,Mj,Rx,Rx,Rx,Rx,Rx,Rx,Rx,Rx,Rx,Rx,Rx,Rx,Rx,Rx,Rx,Rx,Rx,Rx,Rx,Rx,Rx,Rx,Rx,Rx,Rx,Rx,Rx,Rx,Rx,Rx,Rx,Rx,Rx,Rx,Rx,Rx,Rx,Rx,Rx,Rx,Rx,Rx,Rx,Rx,Rx,Rx,Rx,Rx,Rx,Rx,Rx,Rx,Rx,Rx,Rx,Rx,Rx,Rx,Rx,Rx,Rx,Rx,Rx];var xd=[Sx,Sx,Rv,Sx,Sv,Sx,Tv,Sx,Uv,Sx,Vv,Sx,Wv,Sx,Xv,Sx,Yv,Sx,Zv,Sx,_v,Sx,kn,on,zn,Bn,Sx,Sx,Sx,Sx,Sx,Sx];var yd=[Tx,Tx,aw,Tx,bw,Tx,cw,Tx,dw,Tx,ew,Tx,fw,Tx,gw,Tx,hw,Tx,iw,Tx,jw,Tx,_r,$r,Tx,Tx,Tx,Tx,Tx,Tx,Tx,Tx];var zd=[Ux,Ux,lw,Ux,mw,Ux,nw,Ux,ow,Ux,pw,Ux,qw,Ux,rw,Ux,sw,Ux,tw,Ux,uw,Ux,Dq,Eq,vq,wq,Lq,Mq,Tq,Uq,Ux,Ux];var Ad=[Vx,Vx,ww,Vx,xw,Vx,yw,Vx,zw,Vx,Aw,Vx,Bw,Vx,Cw,Vx,Dw,Vx,Ew,Vx,Fw,Vx,rq,$p,aq,bq,hq,Ni,Oi,Vx,Vx,Vx];var Bd=[Wx,Wx,Hw,Wx,Iw,Wx,Jw,Wx,Kw,Wx,Lw,Wx,Mw,Wx,Nw,Wx,Ow,Wx,Pw,Wx,Qw,Wx,ho,lo,ep,ip,op,qp,Wx,Wx,Wx,Wx];var Cd=[Xx,Xx,Sw,Xx,Tw,Xx,Uw,Xx,Vw,Xx,Ww,Xx,Xw,Xx,Yw,Xx,Zw,Xx,_w,Xx,$w,Xx,ul,gl,an,bn,hn,pn,sn,tn,xn,Cn,Hp,Mp,Qs,Ps,Os,Xx,Xx,Xx,Xx,Xx,Xx,Xx,Xx,Xx,Xx,Xx,Xx,Xx,Xx,Xx,Xx,Xx,Xx,Xx,Xx,Xx,Xx,Xx,Xx,Xx,Xx,Xx];var Dd=[Yx,Yx,bx,Yx,cx,Yx,dx,Yx,ex,Yx,fx,Yx,gx,Yx,hx,Yx,ix,Yx,jx,Yx,kx,Yx,Bl,fk,lk,Dl,nl,tk,zk,pl,mq,oq,qq,cq,eq,gq,Td,Ud,Vd,Wd,Xd,ae,be,ce,te,ue,ve,we,xe,ye,vf,wf,xf,yf,zf,Gf,If,Jf,$f,ag,bg,cg,eg,fg,sg,oj,mj,lj,cj,Rj,Pj,Nj,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx,Yx];var Ed=[Zx,Zx,mx,Zx,nx,Zx,ox,Zx,px,Zx,qx,Zx,rx,Zx,sx,Zx,tx,Zx,ux,Zx,vx,Zx,gm,lm,tq,Fq,Iq,jq,xq,Aq,Nq,Qq,Vq,Yq,Si,Ti,Zx,Zx,Zx,Zx,Zx,Zx,Zx,Zx,Zx,Zx,Zx,Zx,Zx,Zx,Zx,Zx,Zx,Zx,Zx,Zx,Zx,Zx,Zx,Zx,Zx,Zx,Zx,Zx];var Fd=[_x,_x,xx,_x,yx,_x,zx,_x,Ax,_x,Bx,_x,Cx,_x,Dx,_x,Ex,_x,Fx,_x,Gx,_x,vl,hl,hm,mm,Cs,Ds,Fs,jf,kf,lf,mf,nf,of,Ie,pg,qg,rg,Mg,Og,Wg,Xg,Yg,Zg,_g,vi,wi,xi,yi,zi,Di,Fi,Gi,nj,_x,_x,_x,_x,_x,_x,_x,_x,_x];return{___cxa_can_catch:Rs,_free:Us,_memset:st,_realloc:Vs,_i64Add:lt,_memmove:rt,___cxa_is_pointer_type:Ss,_i64Subtract:kt,_strlen:ot,_malloc:Ts,_strncpy:mt,_memcpy:pt,___getTypeName:Yj,_bitshift64Lshr:nt,_bitshift64Shl:qt,__GLOBAL__I_a:uj,__GLOBAL__I_a162:Xj,__GLOBAL__I_a200:Zj,__GLOBAL__I_a333:Bk,runPostSets:jt,stackAlloc:Gd,stackSave:Hd,stackRestore:Id,setThrew:Jd,setTempRet0:Md,getTempRet0:Nd,dynCall_iiii:Dt,dynCall_viiiiiii:Ot,dynCall_viiiii:Zt,dynCall_i:iu,dynCall_vi:tu,dynCall_vii:Eu,dynCall_iiiiiii:Pu,dynCall_viiiiiiiii:_u,dynCall_ii:jv,dynCall_viiiiiid:uv,dynCall_viii:Fv,dynCall_viiiiid:Qv,dynCall_v:$v,dynCall_iiiiiiiii:kw,dynCall_iiiii:vw,dynCall_viiiiiiii:Gw,dynCall_viiiiii:Rw,dynCall_iii:ax,dynCall_iiiiii:lx,dynCall_viiii:wx}
// EMSCRIPTEN_END_ASM
})({"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Uint32Array":Uint32Array,"Float32Array":Float32Array,"Float64Array":Float64Array},{"abort":abort,"assert":assert,"min":Math_min,"jsCall":jsCall,"invoke_iiii":invoke_iiii,"invoke_viiiiiii":invoke_viiiiiii,"invoke_viiiii":invoke_viiiii,"invoke_i":invoke_i,"invoke_vi":invoke_vi,"invoke_vii":invoke_vii,"invoke_iiiiiii":invoke_iiiiiii,"invoke_viiiiiiiii":invoke_viiiiiiiii,"invoke_ii":invoke_ii,"invoke_viiiiiid":invoke_viiiiiid,"invoke_viii":invoke_viii,"invoke_viiiiid":invoke_viiiiid,"invoke_v":invoke_v,"invoke_iiiiiiiii":invoke_iiiiiiiii,"invoke_iiiii":invoke_iiiii,"invoke_viiiiiiii":invoke_viiiiiiii,"invoke_viiiiii":invoke_viiiiii,"invoke_iii":invoke_iii,"invoke_iiiiii":invoke_iiiiii,"invoke_viiii":invoke_viiii,"_fabs":_fabs,"floatReadValueFromPointer":floatReadValueFromPointer,"simpleReadValueFromPointer":simpleReadValueFromPointer,"throwInternalError":throwInternalError,"get_first_emval":get_first_emval,"___cxa_guard_acquire":___cxa_guard_acquire,"getLiveInheritedInstances":getLiveInheritedInstances,"__ZSt18uncaught_exceptionv":__ZSt18uncaught_exceptionv,"ClassHandle":ClassHandle,"getShiftFromSize":getShiftFromSize,"__addDays":__addDays,"_sbrk":_sbrk,"___cxa_begin_catch":___cxa_begin_catch,"_emscripten_memcpy_big":_emscripten_memcpy_big,"runDestructor":runDestructor,"_sysconf":_sysconf,"throwInstanceAlreadyDeleted":throwInstanceAlreadyDeleted,"__embind_register_std_string":__embind_register_std_string,"genericPointerToWireType":genericPointerToWireType,"init_RegisteredPointer":init_RegisteredPointer,"ClassHandle_isAliasOf":ClassHandle_isAliasOf,"_fileno":_fileno,"flushPendingDeletes":flushPendingDeletes,"_fread":_fread,"makeClassHandle":makeClassHandle,"whenDependentTypesAreResolved":whenDependentTypesAreResolved,"_write":_write,"__isLeapYear":__isLeapYear,"__embind_register_class_constructor":__embind_register_class_constructor,"RegisteredPointer_deleteObject":RegisteredPointer_deleteObject,"___cxa_atexit":___cxa_atexit,"init_ClassHandle":init_ClassHandle,"_catclose":_catclose,"constNoSmartPtrRawPointerToWireType":constNoSmartPtrRawPointerToWireType,"_fmodl":_fmodl,"_send":_send,"throwBindingError":throwBindingError,"RegisteredClass":RegisteredClass,"___cxa_find_matching_catch":___cxa_find_matching_catch,"__embind_register_emval":__embind_register_emval,"_strerror_r":_strerror_r,"__reallyNegative":__reallyNegative,"___setErrNo":___setErrNo,"___ctype_tolower_loc":___ctype_tolower_loc,"_newlocale":_newlocale,"__embind_register_bool":__embind_register_bool,"___resumeException":___resumeException,"_freelocale":_freelocale,"createNamedFunction":createNamedFunction,"validateThis":validateThis,"embind_init_charCodes":embind_init_charCodes,"__emval_decref":__emval_decref,"_pthread_once":_pthread_once,"_pthread_mutex_unlock":_pthread_mutex_unlock,"___ctype_toupper_loc":___ctype_toupper_loc,"init_embind":init_embind,"ClassHandle_clone":ClassHandle_clone,"heap32VectorToArray":heap32VectorToArray,"__emval_lookupTypes":__emval_lookupTypes,"ClassHandle_delete":ClassHandle_delete,"_read":_read,"RegisteredPointer_destructor":RegisteredPointer_destructor,"_fwrite":_fwrite,"__emval_call":__emval_call,"_time":_time,"_fprintf":_fprintf,"new_":new_,"downcastPointer":downcastPointer,"_catopen":_catopen,"replacePublicSymbol":replacePublicSymbol,"__embind_register_class":__embind_register_class,"ClassHandle_deleteLater":ClassHandle_deleteLater,"__embind_register_integer":__embind_register_integer,"___ctype_b_loc":___ctype_b_loc,"_fmod":_fmod,"ClassHandle_isDeleted":ClassHandle_isDeleted,"_vfprintf":_vfprintf,"__emval_incref":__emval_incref,"___cxa_allocate_exception":___cxa_allocate_exception,"___buildEnvironment":___buildEnvironment,"_pwrite":_pwrite,"_uselocale":_uselocale,"getTypeName":getTypeName,"_strftime":_strftime,"throwUnboundTypeError":throwUnboundTypeError,"craftInvokerFunction":craftInvokerFunction,"_getenv":_getenv,"runDestructors":runDestructors,"requireRegisteredType":requireRegisteredType,"makeLegalFunctionName":makeLegalFunctionName,"_pthread_key_create":_pthread_key_create,"upcastPointer":upcastPointer,"init_emval":init_emval,"_pthread_cond_broadcast":_pthread_cond_broadcast,"shallowCopyInternalPointer":shallowCopyInternalPointer,"nonConstNoSmartPtrRawPointerToWireType":nonConstNoSmartPtrRawPointerToWireType,"_recv":_recv,"_copysign":_copysign,"registerType":registerType,"_abort":_abort,"requireHandle":requireHandle,"__emval_undefined":__emval_undefined,"_embind_repr":_embind_repr,"__embind_register_class_property":__embind_register_class_property,"exposePublicSymbol":exposePublicSymbol,"RegisteredPointer_fromWireType":RegisteredPointer_fromWireType,"_pthread_getspecific":_pthread_getspecific,"_pthread_cond_wait":_pthread_cond_wait,"__embind_register_memory_view":__embind_register_memory_view,"getInheritedInstance":getInheritedInstance,"setDelayFunction":setDelayFunction,"extendError":extendError,"_ungetc":_ungetc,"ensureOverloadTable":ensureOverloadTable,"__embind_register_void":__embind_register_void,"_fflush":_fflush,"_strftime_l":_strftime_l,"_pthread_mutex_lock":_pthread_mutex_lock,"RegisteredPointer_getPointee":RegisteredPointer_getPointee,"__emval_register":__emval_register,"_catgets":_catgets,"__embind_register_std_wstring":__embind_register_std_wstring,"__embind_register_class_function":__embind_register_class_function,"RegisteredPointer":RegisteredPointer,"__arraySum":__arraySum,"_calloc":_calloc,"readLatin1String":readLatin1String,"getBasestPointer":getBasestPointer,"_pread":_pread,"getInheritedInstanceCount":getInheritedInstanceCount,"__embind_register_float":__embind_register_float,"integerReadValueFromPointer":integerReadValueFromPointer,"_getc":_getc,"___errno_location":___errno_location,"___cxa_guard_release":___cxa_guard_release,"_pthread_setspecific":_pthread_setspecific,"_fgetc":_fgetc,"_fputc":_fputc,"___cxa_throw":___cxa_throw,"_copysignl":_copysignl,"count_emval_handles":count_emval_handles,"requireFunction":requireFunction,"_strerror":_strerror,"__formatString":__formatString,"_atexit":_atexit,"STACKTOP":STACKTOP,"STACK_MAX":STACK_MAX,"tempDoublePtr":tempDoublePtr,"ABORT":ABORT,"cttz_i8":cttz_i8,"ctlz_i8":ctlz_i8,"NaN":NaN,"Infinity":Infinity,"___dso_handle":___dso_handle,"_stderr":_stderr,"_stdin":_stdin,"_stdout":_stdout},buffer);var ___cxa_can_catch=Module["___cxa_can_catch"]=asm["___cxa_can_catch"];var _free=Module["_free"]=asm["_free"];var _memset=Module["_memset"]=asm["_memset"];var _realloc=Module["_realloc"]=asm["_realloc"];var _i64Add=Module["_i64Add"]=asm["_i64Add"];var _memmove=Module["_memmove"]=asm["_memmove"];var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=asm["___cxa_is_pointer_type"];var _i64Subtract=Module["_i64Subtract"]=asm["_i64Subtract"];var _strlen=Module["_strlen"]=asm["_strlen"];var _malloc=Module["_malloc"]=asm["_malloc"];var _strncpy=Module["_strncpy"]=asm["_strncpy"];var _memcpy=Module["_memcpy"]=asm["_memcpy"];var ___getTypeName=Module["___getTypeName"]=asm["___getTypeName"];var _bitshift64Lshr=Module["_bitshift64Lshr"]=asm["_bitshift64Lshr"];var _bitshift64Shl=Module["_bitshift64Shl"]=asm["_bitshift64Shl"];var __GLOBAL__I_a=Module["__GLOBAL__I_a"]=asm["__GLOBAL__I_a"];var __GLOBAL__I_a162=Module["__GLOBAL__I_a162"]=asm["__GLOBAL__I_a162"];var __GLOBAL__I_a200=Module["__GLOBAL__I_a200"]=asm["__GLOBAL__I_a200"];var __GLOBAL__I_a333=Module["__GLOBAL__I_a333"]=asm["__GLOBAL__I_a333"];var runPostSets=Module["runPostSets"]=asm["runPostSets"];var dynCall_iiii=Module["dynCall_iiii"]=asm["dynCall_iiii"];var dynCall_viiiiiii=Module["dynCall_viiiiiii"]=asm["dynCall_viiiiiii"];var dynCall_viiiii=Module["dynCall_viiiii"]=asm["dynCall_viiiii"];var dynCall_i=Module["dynCall_i"]=asm["dynCall_i"];var dynCall_vi=Module["dynCall_vi"]=asm["dynCall_vi"];var dynCall_vii=Module["dynCall_vii"]=asm["dynCall_vii"];var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=asm["dynCall_iiiiiii"];var dynCall_viiiiiiiii=Module["dynCall_viiiiiiiii"]=asm["dynCall_viiiiiiiii"];var dynCall_ii=Module["dynCall_ii"]=asm["dynCall_ii"];var dynCall_viiiiiid=Module["dynCall_viiiiiid"]=asm["dynCall_viiiiiid"];var dynCall_viii=Module["dynCall_viii"]=asm["dynCall_viii"];var dynCall_viiiiid=Module["dynCall_viiiiid"]=asm["dynCall_viiiiid"];var dynCall_v=Module["dynCall_v"]=asm["dynCall_v"];var dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=asm["dynCall_iiiiiiiii"];var dynCall_iiiii=Module["dynCall_iiiii"]=asm["dynCall_iiiii"];var dynCall_viiiiiiii=Module["dynCall_viiiiiiii"]=asm["dynCall_viiiiiiii"];var dynCall_viiiiii=Module["dynCall_viiiiii"]=asm["dynCall_viiiiii"];var dynCall_iii=Module["dynCall_iii"]=asm["dynCall_iii"];var dynCall_iiiiii=Module["dynCall_iiiiii"]=asm["dynCall_iiiiii"];var dynCall_viiii=Module["dynCall_viiii"]=asm["dynCall_viiii"];Runtime.stackAlloc=asm["stackAlloc"];Runtime.stackSave=asm["stackSave"];Runtime.stackRestore=asm["stackRestore"];Runtime.setTempRet0=asm["setTempRet0"];Runtime.getTempRet0=asm["getTempRet0"];var i64Math=(function(){var goog={math:{}};goog.math.Long=(function(low,high){this.low_=low|0;this.high_=high|0});goog.math.Long.IntCache_={};goog.math.Long.fromInt=(function(value){if(-128<=value&&value<128){var cachedObj=goog.math.Long.IntCache_[value];Iif(cachedObj){return cachedObj}}var obj=new goog.math.Long(value|0,value<0?-1:0);if(-128<=value&&value<128){goog.math.Long.IntCache_[value]=obj}return obj});goog.math.Long.fromNumber=(function(value){if(isNaN(value)||!isFinite(value)){return goog.math.Long.ZERO}else if(value<=-goog.math.Long.TWO_PWR_63_DBL_){return goog.math.Long.MIN_VALUE}else if(value+1>=goog.math.Long.TWO_PWR_63_DBL_){return goog.math.Long.MAX_VALUE}else if(value<0){return goog.math.Long.fromNumber(-value).negate()}else{return new goog.math.Long(value%goog.math.Long.TWO_PWR_32_DBL_|0,value/goog.math.Long.TWO_PWR_32_DBL_|0)}});goog.math.Long.fromBits=(function(lowBits,highBits){return new goog.math.Long(lowBits,highBits)});goog.math.Long.fromString=(function(str,opt_radix){if(str.length==0){throw Error("number format error: empty string")}var radix=opt_radix||10;if(radix<2||36<radix){throw Error("radix out of range: "+radix)}if(str.charAt(0)=="-"){return goog.math.Long.fromString(str.substring(1),radix).negate()}else if(str.indexOf("-")>=0){throw Error('number format error: interior "-" character: '+str)}var radixToPower=goog.math.Long.fromNumber(Math.pow(radix,8));var result=goog.math.Long.ZERO;for(var i=0;i<str.length;i+=8){var size=Math.min(8,str.length-i);var value=parseInt(str.substring(i,i+size),radix);if(size<8){var power=goog.math.Long.fromNumber(Math.pow(radix,size));result=result.multiply(power).add(goog.math.Long.fromNumber(value))}else{result=result.multiply(radixToPower);result=result.add(goog.math.Long.fromNumber(value))}}return result});goog.math.Long.TWO_PWR_16_DBL_=1<<16;goog.math.Long.TWO_PWR_24_DBL_=1<<24;goog.math.Long.TWO_PWR_32_DBL_=goog.math.Long.TWO_PWR_16_DBL_*goog.math.Long.TWO_PWR_16_DBL_;goog.math.Long.TWO_PWR_31_DBL_=goog.math.Long.TWO_PWR_32_DBL_/2;goog.math.Long.TWO_PWR_48_DBL_=goog.math.Long.TWO_PWR_32_DBL_*goog.math.Long.TWO_PWR_16_DBL_;goog.math.Long.TWO_PWR_64_DBL_=goog.math.Long.TWO_PWR_32_DBL_*goog.math.Long.TWO_PWR_32_DBL_;goog.math.Long.TWO_PWR_63_DBL_=goog.math.Long.TWO_PWR_64_DBL_/2;goog.math.Long.ZERO=goog.math.Long.fromInt(0);goog.math.Long.ONE=goog.math.Long.fromInt(1);goog.math.Long.NEG_ONE=goog.math.Long.fromInt(-1);goog.math.Long.MAX_VALUE=goog.math.Long.fromBits(4294967295|0,2147483647|0);goog.math.Long.MIN_VALUE=goog.math.Long.fromBits(0,2147483648|0);goog.math.Long.TWO_PWR_24_=goog.math.Long.fromInt(1<<24);goog.math.Long.prototype.toInt=(function(){return this.low_});goog.math.Long.prototype.toNumber=(function(){return this.high_*goog.math.Long.TWO_PWR_32_DBL_+this.getLowBitsUnsigned()});goog.math.Long.prototype.toString=(function(opt_radix){var radix=opt_radix||10;if(radix<2||36<radix){throw Error("radix out of range: "+radix)}if(this.isZero()){return"0"}if(this.isNegative()){if(this.equals(goog.math.Long.MIN_VALUE)){var radixLong=goog.math.Long.fromNumber(radix);var div=this.div(radixLong);var rem=div.multiply(radixLong).subtract(this);return div.toString(radix)+rem.toInt().toString(radix)}else{return"-"+this.negate().toString(radix)}}var radixToPower=goog.math.Long.fromNumber(Math.pow(radix,6));var rem=this;var result="";while(true){var remDiv=rem.div(radixToPower);var intval=rem.subtract(remDiv.multiply(radixToPower)).toInt();var digits=intval.toString(radix);rem=remDiv;if(rem.isZero()){return digits+result}else{while(digits.length<6){digits="0"+digits}result=""+digits+result}}});goog.math.Long.prototype.getHighBits=(function(){return this.high_});goog.math.Long.prototype.getLowBits=(function(){return this.low_});goog.math.Long.prototype.getLowBitsUnsigned=(function(){return this.low_>=0?this.low_:goog.math.Long.TWO_PWR_32_DBL_+this.low_});goog.math.Long.prototype.getNumBitsAbs=(function(){if(this.isNegative()){if(this.equals(goog.math.Long.MIN_VALUE)){return 64}else{return this.negate().getNumBitsAbs()}}else{var val=this.high_!=0?this.high_:this.low_;for(var bit=31;bit>0;bit--){if((val&1<<bit)!=0){break}}return this.high_!=0?bit+33:bit+1}});goog.math.Long.prototype.isZero=(function(){return this.high_==0&&this.low_==0});goog.math.Long.prototype.isNegative=(function(){return this.high_<0});goog.math.Long.prototype.isOdd=(function(){return(this.low_&1)==1});goog.math.Long.prototype.equals=(function(other){return this.high_==other.high_&&this.low_==other.low_});goog.math.Long.prototype.notEquals=(function(other){return this.high_!=other.high_||this.low_!=other.low_});goog.math.Long.prototype.lessThan=(function(other){return this.compare(other)<0});goog.math.Long.prototype.lessThanOrEqual=(function(other){return this.compare(other)<=0});goog.math.Long.prototype.greaterThan=(function(other){return this.compare(other)>0});goog.math.Long.prototype.greaterThanOrEqual=(function(other){return this.compare(other)>=0});goog.math.Long.prototype.compare=(function(other){if(this.equals(other)){return 0}var thisNeg=this.isNegative();var otherNeg=other.isNegative();if(thisNeg&&!otherNeg){return-1}if(!thisNeg&&otherNeg){return 1}if(this.subtract(other).isNegative()){return-1}else{return 1}});goog.math.Long.prototype.negate=(function(){if(this.equals(goog.math.Long.MIN_VALUE)){return goog.math.Long.MIN_VALUE}else{return this.not().add(goog.math.Long.ONE)}});goog.math.Long.prototype.add=(function(other){var a48=this.high_>>>16;var a32=this.high_&65535;var a16=this.low_>>>16;var a00=this.low_&65535;var b48=other.high_>>>16;var b32=other.high_&65535;var b16=other.low_>>>16;var b00=other.low_&65535;var c48=0,c32=0,c16=0,c00=0;c00+=a00+b00;c16+=c00>>>16;c00&=65535;c16+=a16+b16;c32+=c16>>>16;c16&=65535;c32+=a32+b32;c48+=c32>>>16;c32&=65535;c48+=a48+b48;c48&=65535;return goog.math.Long.fromBits(c16<<16|c00,c48<<16|c32)});goog.math.Long.prototype.subtract=(function(other){return this.add(other.negate())});goog.math.Long.prototype.multiply=(function(other){if(this.isZero()){return goog.math.Long.ZERO}else if(other.isZero()){return goog.math.Long.ZERO}if(this.equals(goog.math.Long.MIN_VALUE)){return other.isOdd()?goog.math.Long.MIN_VALUE:goog.math.Long.ZERO}else if(other.equals(goog.math.Long.MIN_VALUE)){return this.isOdd()?goog.math.Long.MIN_VALUE:goog.math.Long.ZERO}if(this.isNegative()){if(other.isNegative()){return this.negate().multiply(other.negate())}else{return this.negate().multiply(other).negate()}}else if(other.isNegative()){return this.multiply(other.negate()).negate()}if(this.lessThan(goog.math.Long.TWO_PWR_24_)&&other.lessThan(goog.math.Long.TWO_PWR_24_)){return goog.math.Long.fromNumber(this.toNumber()*other.toNumber())}var a48=this.high_>>>16;var a32=this.high_&65535;var a16=this.low_>>>16;var a00=this.low_&65535;var b48=other.high_>>>16;var b32=other.high_&65535;var b16=other.low_>>>16;var b00=other.low_&65535;var c48=0,c32=0,c16=0,c00=0;c00+=a00*b00;c16+=c00>>>16;c00&=65535;c16+=a16*b00;c32+=c16>>>16;c16&=65535;c16+=a00*b16;c32+=c16>>>16;c16&=65535;c32+=a32*b00;c48+=c32>>>16;c32&=65535;c32+=a16*b16;c48+=c32>>>16;c32&=65535;c32+=a00*b32;c48+=c32>>>16;c32&=65535;c48+=a48*b00+a32*b16+a16*b32+a00*b48;c48&=65535;return goog.math.Long.fromBits(c16<<16|c00,c48<<16|c32)});goog.math.Long.prototype.div=(function(other){if(other.isZero()){throw Error("division by zero")}else if(this.isZero()){return goog.math.Long.ZERO}if(this.equals(goog.math.Long.MIN_VALUE)){if(other.equals(goog.math.Long.ONE)||other.equals(goog.math.Long.NEG_ONE)){return goog.math.Long.MIN_VALUE}else if(other.equals(goog.math.Long.MIN_VALUE)){return goog.math.Long.ONE}else{var halfThis=this.shiftRight(1);var approx=halfThis.div(other).shiftLeft(1);if(approx.equals(goog.math.Long.ZERO)){return other.isNegative()?goog.math.Long.ONE:goog.math.Long.NEG_ONE}else{var rem=this.subtract(other.multiply(approx));var result=approx.add(rem.div(other));return result}}}else if(other.equals(goog.math.Long.MIN_VALUE)){return goog.math.Long.ZERO}if(this.isNegative()){if(other.isNegative()){return this.negate().div(other.negate())}else{return this.negate().div(other).negate()}}else if(other.isNegative()){return this.div(other.negate()).negate()}var res=goog.math.Long.ZERO;var rem=this;while(rem.greaterThanOrEqual(other)){var approx=Math.max(1,Math.floor(rem.toNumber()/other.toNumber()));var log2=Math.ceil(Math.log(approx)/Math.LN2);var delta=log2<=48?1:Math.pow(2,log2-48);var approxRes=goog.math.Long.fromNumber(approx);var approxRem=approxRes.multiply(other);while(approxRem.isNegative()||approxRem.greaterThan(rem)){approx-=delta;approxRes=goog.math.Long.fromNumber(approx);approxRem=approxRes.multiply(other)}if(approxRes.isZero()){approxRes=goog.math.Long.ONE}res=res.add(approxRes);rem=rem.subtract(approxRem)}return res});goog.math.Long.prototype.modulo=(function(other){return this.subtract(this.div(other).multiply(other))});goog.math.Long.prototype.not=(function(){return goog.math.Long.fromBits(~this.low_,~this.high_)});goog.math.Long.prototype.and=(function(other){return goog.math.Long.fromBits(this.low_&other.low_,this.high_&other.high_)});goog.math.Long.prototype.or=(function(other){return goog.math.Long.fromBits(this.low_|other.low_,this.high_|other.high_)});goog.math.Long.prototype.xor=(function(other){return goog.math.Long.fromBits(this.low_^other.low_,this.high_^other.high_)});goog.math.Long.prototype.shiftLeft=(function(numBits){numBits&=63;if(numBits==0){return this}else{var low=this.low_;if(numBits<32){var high=this.high_;return goog.math.Long.fromBits(low<<numBits,high<<numBits|low>>>32-numBits)}else{return goog.math.Long.fromBits(0,low<<numBits-32)}}});goog.math.Long.prototype.shiftRight=(function(numBits){numBits&=63;if(numBits==0){return this}else{var high=this.high_;if(numBits<32){var low=this.low_;return goog.math.Long.fromBits(low>>>numBits|high<<32-numBits,high>>numBits)}else{return goog.math.Long.fromBits(high>>numBits-32,high>=0?0:-1)}}});goog.math.Long.prototype.shiftRightUnsigned=(function(numBits){numBits&=63;if(numBits==0){return this}else{var high=this.high_;if(numBits<32){var low=this.low_;return goog.math.Long.fromBits(low>>>numBits|high<<32-numBits,high>>>numBits)}else if(numBits==32){return goog.math.Long.fromBits(high,0)}else{return goog.math.Long.fromBits(high>>>numBits-32,0)}}});var navigator={appName:"Modern Browser"};var dbits;var canary=0xdeadbeefcafe;var j_lm=(canary&16777215)==15715070;function BigInteger(a,b,c){Iif(a!=null)if("number"==typeof a)this.fromNumber(a,b,c);else if(b==null&&"string"!=typeof a)this.fromString(a,256);else this.fromString(a,b)}function nbi(){return new BigInteger(null)}function am1(i,x,w,j,c,n){while(--n>=0){var v=x*this[i++]+w[j]+c;c=Math.floor(v/67108864);w[j++]=v&67108863}return c}function am2(i,x,w,j,c,n){var xl=x&32767,xh=x>>15;while(--n>=0){var l=this[i]&32767;var h=this[i++]>>15;var m=xh*l+h*xl;l=xl*l+((m&32767)<<15)+w[j]+(c&1073741823);c=(l>>>30)+(m>>>15)+xh*h+(c>>>30);w[j++]=l&1073741823}return c}function am3(i,x,w,j,c,n){var xl=x&16383,xh=x>>14;while(--n>=0){var l=this[i]&16383;var h=this[i++]>>14;var m=xh*l+h*xl;l=xl*l+((m&16383)<<14)+w[j]+c;c=(l>>28)+(m>>14)+xh*h;w[j++]=l&268435455}return c}Iif(j_lm&&navigator.appName=="Microsoft Internet Explorer"){BigInteger.prototype.am=am2;dbits=30}else Eif(j_lm&&navigator.appName!="Netscape"){BigInteger.prototype.am=am1;dbits=26}else{BigInteger.prototype.am=am3;dbits=28}BigInteger.prototype.DB=dbits;BigInteger.prototype.DM=(1<<dbits)-1;BigInteger.prototype.DV=1<<dbits;var BI_FP=52;BigInteger.prototype.FV=Math.pow(2,BI_FP);BigInteger.prototype.F1=BI_FP-dbits;BigInteger.prototype.F2=2*dbits-BI_FP;var BI_RM="0123456789abcdefghijklmnopqrstuvwxyz";var BI_RC=new Array;var rr,vv;rr="0".charCodeAt(0);for(vv=0;vv<=9;++vv)BI_RC[rr++]=vv;rr="a".charCodeAt(0);for(vv=10;vv<36;++vv)BI_RC[rr++]=vv;rr="A".charCodeAt(0);for(vv=10;vv<36;++vv)BI_RC[rr++]=vv;function int2char(n){return BI_RM.charAt(n)}function intAt(s,i){var c=BI_RC[s.charCodeAt(i)];return c==null?-1:c}function bnpCopyTo(r){for(var i=this.t-1;i>=0;--i)r[i]=this[i];r.t=this.t;r.s=this.s}function bnpFromInt(x){this.t=1;this.s=x<0?-1:0;if(x>0)this[0]=x;else Iif(x<-1)this[0]=x+DV;else this.t=0}function nbv(i){var r=nbi();r.fromInt(i);return r}function bnpFromString(s,b){var k;if(b==16)k=4;else if(b==8)k=3;else if(b==256)k=8;else if(b==2)k=1;else if(b==32)k=5;else if(b==4)k=2;else{this.fromRadix(s,b);return}this.t=0;this.s=0;var i=s.length,mi=false,sh=0;while(--i>=0){var x=k==8?s[i]&255:intAt(s,i);if(x<0){if(s.charAt(i)=="-")mi=true;continue}mi=false;if(sh==0)this[this.t++]=x;else if(sh+k>this.DB){this[this.t-1]|=(x&(1<<this.DB-sh)-1)<<sh;this[this.t++]=x>>this.DB-sh}else this[this.t-1]|=x<<sh;sh+=k;if(sh>=this.DB)sh-=this.DB}if(k==8&&(s[0]&128)!=0){this.s=-1;if(sh>0)this[this.t-1]|=(1<<this.DB-sh)-1<<sh}this.clamp();if(mi)BigInteger.ZERO.subTo(this,this)}function bnpClamp(){var c=this.s&this.DM;while(this.t>0&&this[this.t-1]==c)--this.t}function bnToString(b){if(this.s<0)return"-"+this.negate().toString(b);var k;if(b==16)k=4;else if(b==8)k=3;else if(b==2)k=1;else if(b==32)k=5;else if(b==4)k=2;else return this.toRadix(b);var km=(1<<k)-1,d,m=false,r="",i=this.t;var p=this.DB-i*this.DB%k;if(i-->0){if(p<this.DB&&(d=this[i]>>p)>0){m=true;r=int2char(d)}while(i>=0){if(p<k){d=(this[i]&(1<<p)-1)<<k-p;d|=this[--i]>>(p+=this.DB-k)}else{d=this[i]>>(p-=k)&km;if(p<=0){p+=this.DB;--i}}if(d>0)m=true;if(m)r+=int2char(d)}}return m?r:"0"}function bnNegate(){var r=nbi();BigInteger.ZERO.subTo(this,r);return r}function bnAbs(){return this.s<0?this.negate():this}function bnCompareTo(a){var r=this.s-a.s;if(r!=0)return r;var i=this.t;r=i-a.t;if(r!=0)return this.s<0?-r:r;while(--i>=0)if((r=this[i]-a[i])!=0)return r;return 0}function nbits(x){var r=1,t;if((t=x>>>16)!=0){x=t;r+=16}if((t=x>>8)!=0){x=t;r+=8}if((t=x>>4)!=0){x=t;r+=4}if((t=x>>2)!=0){x=t;r+=2}if((t=x>>1)!=0){x=t;r+=1}return r}function bnBitLength(){if(this.t<=0)return 0;return this.DB*(this.t-1)+nbits(this[this.t-1]^this.s&this.DM)}function bnpDLShiftTo(n,r){var i;for(i=this.t-1;i>=0;--i)r[i+n]=this[i];for(i=n-1;i>=0;--i)r[i]=0;r.t=this.t+n;r.s=this.s}function bnpDRShiftTo(n,r){for(var i=n;i<this.t;++i)r[i-n]=this[i];r.t=Math.max(this.t-n,0);r.s=this.s}function bnpLShiftTo(n,r){var bs=n%this.DB;var cbs=this.DB-bs;var bm=(1<<cbs)-1;var ds=Math.floor(n/this.DB),c=this.s<<bs&this.DM,i;for(i=this.t-1;i>=0;--i){r[i+ds+1]=this[i]>>cbs|c;c=(this[i]&bm)<<bs}for(i=ds-1;i>=0;--i)r[i]=0;r[ds]=c;r.t=this.t+ds+1;r.s=this.s;r.clamp()}function bnpRShiftTo(n,r){r.s=this.s;var ds=Math.floor(n/this.DB);if(ds>=this.t){r.t=0;return}var bs=n%this.DB;var cbs=this.DB-bs;var bm=(1<<bs)-1;r[0]=this[ds]>>bs;for(var i=ds+1;i<this.t;++i){r[i-ds-1]|=(this[i]&bm)<<cbs;r[i-ds]=this[i]>>bs}if(bs>0)r[this.t-ds-1]|=(this.s&bm)<<cbs;r.t=this.t-ds;r.clamp()}function bnpSubTo(a,r){var i=0,c=0,m=Math.min(a.t,this.t);while(i<m){c+=this[i]-a[i];r[i++]=c&this.DM;c>>=this.DB}if(a.t<this.t){c-=a.s;while(i<this.t){c+=this[i];r[i++]=c&this.DM;c>>=this.DB}c+=this.s}else{c+=this.s;while(i<a.t){c-=a[i];r[i++]=c&this.DM;c>>=this.DB}c-=a.s}r.s=c<0?-1:0;if(c<-1)r[i++]=this.DV+c;else if(c>0)r[i++]=c;r.t=i;r.clamp()}function bnpMultiplyTo(a,r){var x=this.abs(),y=a.abs();var i=x.t;r.t=i+y.t;while(--i>=0)r[i]=0;for(i=0;i<y.t;++i)r[i+x.t]=x.am(0,y[i],r,i,0,x.t);r.s=0;r.clamp();if(this.s!=a.s)BigInteger.ZERO.subTo(r,r)}function bnpSquareTo(r){var x=this.abs();var i=r.t=2*x.t;while(--i>=0)r[i]=0;for(i=0;i<x.t-1;++i){var c=x.am(i,x[i],r,2*i,0,1);if((r[i+x.t]+=x.am(i+1,2*x[i],r,2*i+1,c,x.t-i-1))>=x.DV){r[i+x.t]-=x.DV;r[i+x.t+1]=1}}if(r.t>0)r[r.t-1]+=x.am(i,x[i],r,2*i,0,1);r.s=0;r.clamp()}function bnpDivRemTo(m,q,r){var pm=m.abs();if(pm.t<=0)return;var pt=this.abs();if(pt.t<pm.t){if(q!=null)q.fromInt(0);if(r!=null)this.copyTo(r);return}if(r==null)r=nbi();var y=nbi(),ts=this.s,ms=m.s;var nsh=this.DB-nbits(pm[pm.t-1]);if(nsh>0){pm.lShiftTo(nsh,y);pt.lShiftTo(nsh,r)}else{pm.copyTo(y);pt.copyTo(r)}var ys=y.t;var y0=y[ys-1];if(y0==0)return;var yt=y0*(1<<this.F1)+(ys>1?y[ys-2]>>this.F2:0);var d1=this.FV/yt,d2=(1<<this.F1)/yt,e=1<<this.F2;var i=r.t,j=i-ys,t=q==null?nbi():q;y.dlShiftTo(j,t);if(r.compareTo(t)>=0){r[r.t++]=1;r.subTo(t,r)}BigInteger.ONE.dlShiftTo(ys,t);t.subTo(y,y);while(y.t<ys)y[y.t++]=0;while(--j>=0){var qd=r[--i]==y0?this.DM:Math.floor(r[i]*d1+(r[i-1]+e)*d2);if((r[i]+=y.am(0,qd,r,j,0,ys))<qd){y.dlShiftTo(j,t);r.subTo(t,r);while(r[i]<--qd)r.subTo(t,r)}}if(q!=null){r.drShiftTo(ys,q);if(ts!=ms)BigInteger.ZERO.subTo(q,q)}r.t=ys;r.clamp();if(nsh>0)r.rShiftTo(nsh,r);if(ts<0)BigInteger.ZERO.subTo(r,r)}function bnMod(a){var r=nbi();this.abs().divRemTo(a,null,r);if(this.s<0&&r.compareTo(BigInteger.ZERO)>0)a.subTo(r,r);return r}function Classic(m){this.m=m}function cConvert(x){if(x.s<0||x.compareTo(this.m)>=0)return x.mod(this.m);else return x}function cRevert(x){return x}function cReduce(x){x.divRemTo(this.m,null,x)}function cMulTo(x,y,r){x.multiplyTo(y,r);this.reduce(r)}function cSqrTo(x,r){x.squareTo(r);this.reduce(r)}Classic.prototype.convert=cConvert;Classic.prototype.revert=cRevert;Classic.prototype.reduce=cReduce;Classic.prototype.mulTo=cMulTo;Classic.prototype.sqrTo=cSqrTo;function bnpInvDigit(){if(this.t<1)return 0;var x=this[0];if((x&1)==0)return 0;var y=x&3;y=y*(2-(x&15)*y)&15;y=y*(2-(x&255)*y)&255;y=y*(2-((x&65535)*y&65535))&65535;y=y*(2-x*y%this.DV)%this.DV;return y>0?this.DV-y:-y}function Montgomery(m){this.m=m;this.mp=m.invDigit();this.mpl=this.mp&32767;this.mph=this.mp>>15;this.um=(1<<m.DB-15)-1;this.mt2=2*m.t}function montConvert(x){var r=nbi();x.abs().dlShiftTo(this.m.t,r);r.divRemTo(this.m,null,r);if(x.s<0&&r.compareTo(BigInteger.ZERO)>0)this.m.subTo(r,r);return r}function montRevert(x){var r=nbi();x.copyTo(r);this.reduce(r);return r}function montReduce(x){while(x.t<=this.mt2)x[x.t++]=0;for(var i=0;i<this.m.t;++i){var j=x[i]&32767;var u0=j*this.mpl+((j*this.mph+(x[i]>>15)*this.mpl&this.um)<<15)&x.DM;j=i+this.m.t;x[j]+=this.m.am(0,u0,x,i,0,this.m.t);while(x[j]>=x.DV){x[j]-=x.DV;x[++j]++}}x.clamp();x.drShiftTo(this.m.t,x);if(x.compareTo(this.m)>=0)x.subTo(this.m,x)}function montSqrTo(x,r){x.squareTo(r);this.reduce(r)}function montMulTo(x,y,r){x.multiplyTo(y,r);this.reduce(r)}Montgomery.prototype.convert=montConvert;Montgomery.prototype.revert=montRevert;Montgomery.prototype.reduce=montReduce;Montgomery.prototype.mulTo=montMulTo;Montgomery.prototype.sqrTo=montSqrTo;function bnpIsEven(){return(this.t>0?this[0]&1:this.s)==0}function bnpExp(e,z){if(e>4294967295||e<1)return BigInteger.ONE;var r=nbi(),r2=nbi(),g=z.convert(this),i=nbits(e)-1;g.copyTo(r);while(--i>=0){z.sqrTo(r,r2);if((e&1<<i)>0)z.mulTo(r2,g,r);else{var t=r;r=r2;r2=t}}return z.revert(r)}function bnModPowInt(e,m){var z;if(e<256||m.isEven())z=new Classic(m);else z=new Montgomery(m);return this.exp(e,z)}BigInteger.prototype.copyTo=bnpCopyTo;BigInteger.prototype.fromInt=bnpFromInt;BigInteger.prototype.fromString=bnpFromString;BigInteger.prototype.clamp=bnpClamp;BigInteger.prototype.dlShiftTo=bnpDLShiftTo;BigInteger.prototype.drShiftTo=bnpDRShiftTo;BigInteger.prototype.lShiftTo=bnpLShiftTo;BigInteger.prototype.rShiftTo=bnpRShiftTo;BigInteger.prototype.subTo=bnpSubTo;BigInteger.prototype.multiplyTo=bnpMultiplyTo;BigInteger.prototype.squareTo=bnpSquareTo;BigInteger.prototype.divRemTo=bnpDivRemTo;BigInteger.prototype.invDigit=bnpInvDigit;BigInteger.prototype.isEven=bnpIsEven;BigInteger.prototype.exp=bnpExp;BigInteger.prototype.toString=bnToString;BigInteger.prototype.negate=bnNegate;BigInteger.prototype.abs=bnAbs;BigInteger.prototype.compareTo=bnCompareTo;BigInteger.prototype.bitLength=bnBitLength;BigInteger.prototype.mod=bnMod;BigInteger.prototype.modPowInt=bnModPowInt;BigInteger.ZERO=nbv(0);BigInteger.ONE=nbv(1);function bnpFromRadix(s,b){this.fromInt(0);if(b==null)b=10;var cs=this.chunkSize(b);var d=Math.pow(b,cs),mi=false,j=0,w=0;for(var i=0;i<s.length;++i){var x=intAt(s,i);if(x<0){if(s.charAt(i)=="-"&&this.signum()==0)mi=true;continue}w=b*w+x;if(++j>=cs){this.dMultiply(d);this.dAddOffset(w,0);j=0;w=0}}if(j>0){this.dMultiply(Math.pow(b,j));this.dAddOffset(w,0)}if(mi)BigInteger.ZERO.subTo(this,this)}function bnpChunkSize(r){return Math.floor(Math.LN2*this.DB/Math.log(r))}function bnSigNum(){if(this.s<0)return-1;else if(this.t<=0||this.t==1&&this[0]<=0)return 0;else return 1}function bnpDMultiply(n){this[this.t]=this.am(0,n-1,this,0,0,this.t);++this.t;this.clamp()}function bnpDAddOffset(n,w){if(n==0)return;while(this.t<=w)this[this.t++]=0;this[w]+=n;while(this[w]>=this.DV){this[w]-=this.DV;if(++w>=this.t)this[this.t++]=0;++this[w]}}function bnpToRadix(b){if(b==null)b=10;if(this.signum()==0||b<2||b>36)return"0";var cs=this.chunkSize(b);var a=Math.pow(b,cs);var d=nbv(a),y=nbi(),z=nbi(),r="";this.divRemTo(d,y,z);while(y.signum()>0){r=(a+z.intValue()).toString(b).substr(1)+r;y.divRemTo(d,y,z)}return z.intValue().toString(b)+r}function bnIntValue(){if(this.s<0){if(this.t==1)return this[0]-this.DV;else if(this.t==0)return-1}else if(this.t==1)return this[0];else if(this.t==0)return 0;return(this[1]&(1<<32-this.DB)-1)<<this.DB|this[0]}function bnpAddTo(a,r){var i=0,c=0,m=Math.min(a.t,this.t);while(i<m){c+=this[i]+a[i];r[i++]=c&this.DM;c>>=this.DB}if(a.t<this.t){c+=a.s;while(i<this.t){c+=this[i];r[i++]=c&this.DM;c>>=this.DB}c+=this.s}else{c+=this.s;while(i<a.t){c+=a[i];r[i++]=c&this.DM;c>>=this.DB}c+=a.s}r.s=c<0?-1:0;if(c>0)r[i++]=c;else if(c<-1)r[i++]=this.DV+c;r.t=i;r.clamp()}BigInteger.prototype.fromRadix=bnpFromRadix;BigInteger.prototype.chunkSize=bnpChunkSize;BigInteger.prototype.signum=bnSigNum;BigInteger.prototype.dMultiply=bnpDMultiply;BigInteger.prototype.dAddOffset=bnpDAddOffset;BigInteger.prototype.toRadix=bnpToRadix;BigInteger.prototype.intValue=bnIntValue;BigInteger.prototype.addTo=bnpAddTo;var Wrapper={abs:(function(l,h){var x=new goog.math.Long(l,h);var ret;if(x.isNegative()){ret=x.negate()}else{ret=x}HEAP32[tempDoublePtr>>2]=ret.low_;HEAP32[tempDoublePtr+4>>2]=ret.high_}),ensureTemps:(function(){if(Wrapper.ensuredTemps)return;Wrapper.ensuredTemps=true;Wrapper.two32=new BigInteger;Wrapper.two32.fromString("4294967296",10);Wrapper.two64=new BigInteger;Wrapper.two64.fromString("18446744073709551616",10);Wrapper.temp1=new BigInteger;Wrapper.temp2=new BigInteger}),lh2bignum:(function(l,h){var a=new BigInteger;a.fromString(h.toString(),10);var b=new BigInteger;a.multiplyTo(Wrapper.two32,b);var c=new BigInteger;c.fromString(l.toString(),10);var d=new BigInteger;c.addTo(b,d);return d}),stringify:(function(l,h,unsigned){var ret=(new goog.math.Long(l,h)).toString();if(unsigned&&ret[0]=="-"){Wrapper.ensureTemps();var bignum=new BigInteger;bignum.fromString(ret,10);ret=new BigInteger;Wrapper.two64.addTo(bignum,ret);ret=ret.toString(10)}return ret}),fromString:(function(str,base,min,max,unsigned){Wrapper.ensureTemps();var bignum=new BigInteger;bignum.fromString(str,base);var bigmin=new BigInteger;bigmin.fromString(min,10);var bigmax=new BigInteger;bigmax.fromString(max,10);if(unsigned&&bignum.compareTo(BigInteger.ZERO)<0){var temp=new BigInteger;bignum.addTo(Wrapper.two64,temp);bignum=temp}var error=false;if(bignum.compareTo(bigmin)<0){bignum=bigmin;error=true}else if(bignum.compareTo(bigmax)>0){bignum=bigmax;error=true}var ret=goog.math.Long.fromString(bignum.toString());HEAP32[tempDoublePtr>>2]=ret.low_;HEAP32[tempDoublePtr+4>>2]=ret.high_;if(error)throw"range error"})};return Wrapper})();Iif(memoryInitializer){if(typeof Module["locateFile"]==="function"){memoryInitializer=Module["locateFile"](memoryInitializer)}else if(Module["memoryInitializerPrefixURL"]){memoryInitializer=Module["memoryInitializerPrefixURL"]+memoryInitializer}if(ENVIRONMENT_IS_NODE||ENVIRONMENT_IS_SHELL){var data=Module["readBinary"](memoryInitializer);HEAPU8.set(data,STATIC_BASE)}else{addRunDependency("memory initializer");Browser.asyncLoad(memoryInitializer,(function(data){HEAPU8.set(data,STATIC_BASE);removeRunDependency("memory initializer")}),(function(data){throw"could not load memory initializer "+memoryInitializer}))}}function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}ExitStatus.prototype=new Error;ExitStatus.prototype.constructor=ExitStatus;var initialStackTop;var preloadStartTime=null;var calledMain=false;dependenciesFulfilled=function runCaller(){if(!Module["calledRun"]&&shouldRunNow)run();if(!Module["calledRun"])dependenciesFulfilled=runCaller};Module["callMain"]=Module.callMain=function callMain(args){assert(runDependencies==0,"cannot call main when async dependencies remain! (listen on __ATMAIN__)");assert(__ATPRERUN__.length==0,"cannot call main when preRun functions remain to be called");args=args||[];ensureInitRuntime();var argc=args.length+1;function pad(){for(var i=0;i<4-1;i++){argv.push(0)}}var argv=[allocate(intArrayFromString(Module["thisProgram"]),"i8",ALLOC_NORMAL)];pad();for(var i=0;i<argc-1;i=i+1){argv.push(allocate(intArrayFromString(args[i]),"i8",ALLOC_NORMAL));pad()}argv.push(0);argv=allocate(argv,"i32",ALLOC_NORMAL);initialStackTop=STACKTOP;try{var ret=Module["_main"](argc,argv,0);exit(ret)}catch(e){if(e instanceof ExitStatus){return}else if(e=="SimulateInfiniteLoop"){Module["noExitRuntime"]=true;return}else{if(e&&typeof e==="object"&&e.stack)Module.printErr("exception thrown: "+[e,e.stack]);throw e}}finally{calledMain=true}};function run(args){args=args||Module["arguments"];Eif(preloadStartTime===null)preloadStartTime=Date.now();Iif(runDependencies>0){Module.printErr("run() called, but dependencies remain, so not running");return}preRun();Iif(runDependencies>0)return;Iif(Module["calledRun"])return;function doRun(){Iif(Module["calledRun"])return;Module["calledRun"]=true;Iif(ABORT)return;ensureInitRuntime();preMain();Iif(ENVIRONMENT_IS_WEB&&preloadStartTime!==null){Module.printErr("pre-main prep time: "+(Date.now()-preloadStartTime)+" ms")}Iif(Module["_main"]&&shouldRunNow){Module["callMain"](args)}postRun()}Iif(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout((function(){setTimeout((function(){Module["setStatus"]("")}),1);doRun()}),1)}else{doRun()}}Module["run"]=Module.run=run;function exit(status){if(Module["noExitRuntime"]){return}ABORT=true;EXITSTATUS=status;STACKTOP=initialStackTop;exitRuntime();if(ENVIRONMENT_IS_NODE){process["stdout"]["once"]("drain",(function(){process["exit"](status)}));console.log(" ");setTimeout((function(){process["exit"](status)}),500)}else if(ENVIRONMENT_IS_SHELL&&typeof quit==="function"){quit(status)}throw new ExitStatus(status)}Module["exit"]=Module.exit=exit;function abort(text){if(text){Module.print(text);Module.printErr(text)}ABORT=true;EXITSTATUS=1;var extra="\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";throw"abort() at "+stackTrace()+extra}Module["abort"]=Module.abort=abort;Iif(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}var shouldRunNow=true;Iif(Module["noInitialRun"]){shouldRunNow=false}run()
module.exports = Module;
|